texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo/tp Makefile.am prove.sh texi2any.pl t/a...


From: Patrice Dumas
Subject: texinfo/tp Makefile.am prove.sh texi2any.pl t/a...
Date: Wed, 12 Oct 2011 23:52:28 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        11/10/12 23:52:21

Modified files:
        tp             : Makefile.am prove.sh texi2any.pl 
        tp/t           : accents.t nodenormalization.t paragraph.t 
                         test_sort.t test_utils.pl 
Added files:
        tp/maintain/lib: README 
        tp/maintain/lib/Text-Unidecode: ChangeLog MANIFEST MANIFEST.SKIP 
                                        Makefile.PL README TODO.txt 
                                        test.pl 
        tp/maintain/lib/Text-Unidecode/lib/Text: Unidecode.pm 
        tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode: x00.pm x01.pm 
                                                           x02.pm x03.pm 
                                                           x04.pm x05.pm 
                                                           x06.pm x07.pm 
                                                           x09.pm x0a.pm 
                                                           x0b.pm x0c.pm 
                                                           x0d.pm x0e.pm 
                                                           x0f.pm x10.pm 
                                                           x11.pm x12.pm 
                                                           x13.pm x14.pm 
                                                           x15.pm x16.pm 
                                                           x17.pm x18.pm 
                                                           x1e.pm x1f.pm 
                                                           x20.pm x21.pm 
                                                           x22.pm x23.pm 
                                                           x24.pm x25.pm 
                                                           x26.pm x27.pm 
                                                           x28.pm x2e.pm 
                                                           x2f.pm x30.pm 
                                                           x31.pm x32.pm 
                                                           x33.pm x4d.pm 
                                                           x4e.pm x4f.pm 
                                                           x50.pm x51.pm 
                                                           x52.pm x53.pm 
                                                           x54.pm x55.pm 
                                                           x56.pm x57.pm 
                                                           x58.pm x59.pm 
                                                           x5a.pm x5b.pm 
                                                           x5c.pm x5d.pm 
                                                           x5e.pm x5f.pm 
                                                           x60.pm x61.pm 
                                                           x62.pm x63.pm 
                                                           x64.pm x65.pm 
                                                           x66.pm x67.pm 
                                                           x68.pm x69.pm 
                                                           x6a.pm x6b.pm 
                                                           x6c.pm x6d.pm 
                                                           x6e.pm x6f.pm 
                                                           x70.pm x71.pm 
                                                           x72.pm x73.pm 
                                                           x74.pm x75.pm 
                                                           x76.pm x77.pm 
                                                           x78.pm x79.pm 
                                                           x7a.pm x7b.pm 
                                                           x7c.pm x7d.pm 
                                                           x7e.pm x7f.pm 
                                                           x80.pm x81.pm 
                                                           x82.pm x83.pm 
                                                           x84.pm x85.pm 
                                                           x86.pm x87.pm 
                                                           x88.pm x89.pm 
                                                           x8a.pm x8b.pm 
                                                           x8c.pm x8d.pm 
                                                           x8e.pm x8f.pm 
                                                           x90.pm x91.pm 
                                                           x92.pm x93.pm 
                                                           x94.pm x95.pm 
                                                           x96.pm x97.pm 
                                                           x98.pm x99.pm 
                                                           x9a.pm x9b.pm 
                                                           x9c.pm x9d.pm 
                                                           x9e.pm x9f.pm 
                                                           xa0.pm xa1.pm 
                                                           xa2.pm xa3.pm 
                                                           xa4.pm xac.pm 
                                                           xad.pm xae.pm 
                                                           xaf.pm xb0.pm 
                                                           xb1.pm xb2.pm 
                                                           xb3.pm xb4.pm 
                                                           xb5.pm xb6.pm 
                                                           xb7.pm xb8.pm 
                                                           xb9.pm xba.pm 
                                                           xbb.pm xbc.pm 
                                                           xbd.pm xbe.pm 
                                                           xbf.pm xc0.pm 
                                                           xc1.pm xc2.pm 
                                                           xc3.pm xc4.pm 
                                                           xc5.pm xc6.pm 
                                                           xc7.pm xc8.pm 
                                                           xc9.pm xca.pm 
                                                           xcb.pm xcc.pm 
                                                           xcd.pm xce.pm 
                                                           xcf.pm xd0.pm 
                                                           xd1.pm xd2.pm 
                                                           xd3.pm xd4.pm 
                                                           xd5.pm xd6.pm 
                                                           xd7.pm xf9.pm 
                                                           xfa.pm xfb.pm 
                                                           xfc.pm xfd.pm 
                                                           xfe.pm xff.pm 
        tp/maintain/lib/Unicode-EastAsianWidth: Changes MANIFEST 
                                                META.yml Makefile.PL 
                                                README SIGNATURE 
        tp/maintain/lib/Unicode-EastAsianWidth/inc/Module: Install.pm 
        tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install: 
                                                                   Base.pm 
                                                                   Can.pm 
                                                                   Fetch.pm 
                                                                   Makefile.pm 
                                                                   Metadata.pm 
                                                                   Win32.pm 
                                                                   WriteAll.pm 
        tp/maintain/lib/Unicode-EastAsianWidth/lib/Unicode: 
                                                            EastAsianWidth.pm 
        tp/maintain/lib/Unicode-EastAsianWidth/t: 0-signature.t 
                                                  1-basic.t 
        tp/maintain/lib/libintl-perl: COPYING.LESSER ChangeLog Credits 
                                      FAQ MANIFEST META.yml Makefile.PL 
                                      MyInstall.pm NEWS README 
                                      README-oldversions README.solaris 
                                      README.win32 REFERENCES 
                                      ReleaseNotes THANKS TODO test.pl 
        tp/maintain/lib/libintl-perl/gettext_xs: Makefile.PL 
                                                 gettext_xs.pm 
                                                 gettext_xs.xs 
        tp/maintain/lib/libintl-perl/lib/Locale: Messages.pm Recode.pm 
                                                 RecodeData.pm 
                                                 TextDomain.pm Util.pm 
                                                 gettext_pp.pm 
                                                 gettext_xs.pod 
                                                 libintlFAQ.pod 
        tp/maintain/lib/libintl-perl/lib/Locale/Recode: _Aliases.pm 
                                                        _Conversions.pm 
        tp/maintain/lib/libintl-perl/lib/Locale/RecodeData: ASMO_449.pm 
                                                            ATARI_ST.pm 
                                                            ATARI_ST_EURO.pm 
                                                            CP10007.pm 
                                                            CP1250.pm 
                                                            CP1251.pm 
                                                            CP1252.pm 
                                                            CP1253.pm 
                                                            CP1254.pm 
                                                            CP1256.pm 
                                                            CP1257.pm 
                                                            CSN_369103.pm 
                                                            CWI.pm 
                                                            DEC_MCS.pm 
                                                            EBCDIC_AT_DE.pm 
                                                            EBCDIC_AT_DE_A.pm 
                                                            EBCDIC_CA_FR.pm 
                                                            EBCDIC_DK_NO.pm 
                                                            EBCDIC_DK_NO_A.pm 
                                                            EBCDIC_ES.pm 
                                                            EBCDIC_ES_A.pm 
                                                            EBCDIC_ES_S.pm 
                                                            EBCDIC_FI_SE.pm 
                                                            EBCDIC_FI_SE_A.pm 
                                                            EBCDIC_FR.pm 
                                                            EBCDIC_IS_FRISS.pm 
                                                            EBCDIC_IT.pm 
                                                            EBCDIC_PT.pm 
                                                            EBCDIC_UK.pm 
                                                            EBCDIC_US.pm 
                                                            ECMA_CYRILLIC.pm 
                                                            GEORGIAN_ACADEMY.pm 
                                                            GEORGIAN_PS.pm 
                                                            GOST_19768_74.pm 
                                                            GREEK7.pm 
                                                            GREEK7_OLD.pm 
                                                            GREEK_CCITT.pm 
                                                            HP_ROMAN8.pm 
                                                            IBM037.pm 
                                                            IBM038.pm 
                                                            IBM1004.pm 
                                                            IBM1026.pm 
                                                            IBM1047.pm 
                                                            IBM256.pm 
                                                            IBM273.pm 
                                                            IBM274.pm 
                                                            IBM275.pm 
                                                            IBM277.pm 
                                                            IBM278.pm 
                                                            IBM280.pm 
                                                            IBM281.pm 
                                                            IBM284.pm 
                                                            IBM285.pm 
                                                            IBM290.pm 
                                                            IBM297.pm 
                                                            IBM420.pm 
                                                            IBM423.pm 
                                                            IBM424.pm 
                                                            IBM437.pm 
                                                            IBM500.pm 
                                                            IBM850.pm 
                                                            IBM851.pm 
                                                            IBM852.pm 
                                                            IBM855.pm 
                                                            IBM857.pm 
                                                            IBM860.pm 
                                                            IBM861.pm 
                                                            IBM862.pm 
                                                            IBM863.pm 
                                                            IBM864.pm 
                                                            IBM865.pm 
                                                            IBM866.pm 
                                                            IBM868.pm 
                                                            IBM869.pm 
                                                            IBM870.pm 
                                                            IBM871.pm 
                                                            IBM874.pm 
                                                            IBM875.pm 
                                                            IBM880.pm 
                                                            IBM891.pm 
                                                            IBM903.pm 
                                                            IBM904.pm 
                                                            IBM905.pm 
                                                            IBM918.pm 
                                                            IEC_P27_1.pm 
                                                            INIS.pm 
                                                            INIS_8.pm 
                                                            INIS_CYRILLIC.pm 
                                                            ISO_10367_BOX.pm 
                                                            ISO_2033_1983.pm 
                                                            ISO_5427.pm 
                                                            ISO_5427_EXT.pm 
                                                            ISO_5428.pm 
                                                            ISO_8859_1.pm 
                                                            ISO_8859_10.pm 
                                                            ISO_8859_11.pm 
                                                            ISO_8859_13.pm 
                                                            ISO_8859_14.pm 
                                                            ISO_8859_15.pm 
                                                            ISO_8859_16.pm 
                                                            ISO_8859_2.pm 
                                                            ISO_8859_3.pm 
                                                            ISO_8859_4.pm 
                                                            ISO_8859_5.pm 
                                                            ISO_8859_6.pm 
                                                            ISO_8859_7.pm 
                                                            ISO_8859_8.pm 
                                                            ISO_8859_9.pm 
                                                            KOI8_R.pm 
                                                            KOI8_RU.pm 
                                                            KOI8_T.pm 
                                                            KOI8_U.pm 
                                                            KOI_8.pm 
                                                            LATIN_GREEK.pm 
                                                            LATIN_GREEK_1.pm 
                                                            MACARABIC.pm 
                                                            MACCROATIAN.pm 
                                                            MACCYRILLIC.pm 
                                                            MACGREEK.pm 
                                                            MACHEBREW.pm 
                                                            MACICELAND.pm 
                                                            MACINTOSH.pm 
                                                            MACROMANIA.pm 
                                                            MACTHAI.pm 
                                                            MACTURKISH.pm 
                                                            MACUKRAINE.pm 
                                                            MAC_IS.pm 
                                                            MAC_SAMI.pm 
                                                            MAC_UK.pm 
                                                            NATS_DANO.pm 
                                                            NATS_SEFI.pm 
                                                            NEXTSTEP.pm 
                                                            SAMI_WS2.pm 
                                                            TIS_620.pm 
                                                            US_ASCII.pm 
                                                            UTF_8.pm 
                                                            VISCII.pm 
                                                            _Encode.pm 
        tp/maintain/lib/libintl-perl/sample: README 
        tp/maintain/lib/libintl-perl/sample/simplecal: MANIFEST 
                                                       Makefile.PL 
                                                       README-NLS 
                                                       TRANSLATIONS 
        tp/maintain/lib/libintl-perl/sample/simplecal/bin: simplecal.pl 
        tp/maintain/lib/libintl-perl/sample/simplecal/lib: SimpleCal.pm 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar_SA/LC_MESSAGES: 
                                                                                
        org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de_AT/LC_MESSAGES: 
                                                                                
        org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/fr/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ga/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/it/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/nl/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt_BR/LC_MESSAGES: 
                                                                                
        org.imperia.simplecal.mo 
        
tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ru/LC_MESSAGES: 
                                                                                
     org.imperia.simplecal.mo 
        tp/maintain/lib/libintl-perl/sample/simplecal/po: Makefile 
                                                          PACKAGE 
                                                          POTFILES.in 
                                                          ar.po ar_SA.po 
                                                          de.po de_AT.po 
                                                          fr.po ga.po 
                                                          it.po nl.po 
                                                          
org.imperia.simplecal.pot 
                                                          pt.po pt_BR.po 
                                                          ru.po 
        tp/maintain/lib/libintl-perl/tests: 00gettext.t 00recode.t 
                                            01trivial.t 02asmo_449.t 
                                            02atari-st-euro.t 
                                            02atari-st.t 02cp10007.t 
                                            02cp1250.t 02cp1251.t 
                                            02cp1252.t 02cp1253.t 
                                            02cp1254.t 02cp1256.t 
                                            02cp1257.t 02csn_369103.t 
                                            02cwi.t 02dec-mcs.t 
                                            02ebcdic-at-de-a.t 
                                            02ebcdic-at-de.t 
                                            02ebcdic-ca-fr.t 
                                            02ebcdic-dk-no-a.t 
                                            02ebcdic-dk-no.t 
                                            02ebcdic-es-a.t 
                                            02ebcdic-es-s.t 
                                            02ebcdic-es.t 
                                            02ebcdic-fi-se-a.t 
                                            02ebcdic-fi-se.t 
                                            02ebcdic-fr.t 
                                            02ebcdic-is-friss.t 
                                            02ebcdic-it.t 02ebcdic-pt.t 
                                            02ebcdic-uk.t 02ebcdic-us.t 
                                            02ecma-cyrillic.t 
                                            02georgian-academy.t 
                                            02georgian-ps.t 
                                            02gost_19768-74.t 
                                            02greek-ccitt.t 
                                            02greek7-old.t 02greek7.t 
                                            02hp-roman8.t 02ibm037.t 
                                            02ibm038.t 02ibm1004.t 
                                            02ibm1026.t 02ibm1047.t 
                                            02ibm256.t 02ibm273.t 
                                            02ibm274.t 02ibm275.t 
                                            02ibm277.t 02ibm278.t 
                                            02ibm280.t 02ibm281.t 
                                            02ibm284.t 02ibm285.t 
                                            02ibm290.t 02ibm297.t 
                                            02ibm420.t 02ibm423.t 
                                            02ibm424.t 02ibm437.t 
                                            02ibm500.t 02ibm850.t 
                                            02ibm851.t 02ibm852.t 
                                            02ibm855.t 02ibm857.t 
                                            02ibm860.t 02ibm861.t 
                                            02ibm862.t 02ibm863.t 
                                            02ibm864.t 02ibm865.t 
                                            02ibm866.t 02ibm868.t 
                                            02ibm869.t 02ibm870.t 
                                            02ibm871.t 02ibm874.t 
                                            02ibm875.t 02ibm880.t 
                                            02ibm891.t 02ibm903.t 
                                            02ibm904.t 02ibm905.t 
                                            02ibm918.t 02iec_p27-1.t 
                                            02inis-8.t 02inis-cyrillic.t 
                                            02inis.t 02iso-8859-1.t 
                                            02iso-8859-10.t 
                                            02iso-8859-11.t 
                                            02iso-8859-13.t 
                                            02iso-8859-14.t 
                                            02iso-8859-15.t 
                                            02iso-8859-16.t 
                                            02iso-8859-2.t 
                                            02iso-8859-3.t 
                                            02iso-8859-4.t 
                                            02iso-8859-5.t 
                                            02iso-8859-6.t 
                                            02iso-8859-7.t 
                                            02iso-8859-8.t 
                                            02iso-8859-9.t 
                                            02iso_10367-box.t 
                                            02iso_2033-1983.t 
                                            02iso_5427-ext.t 
                                            02iso_5427.t 02iso_5428.t 
                                            02koi-8.t 02koi8-r.t 
                                            02koi8-ru.t 02koi8-t.t 
                                            02koi8-u.t 02latin-greek-1.t 
                                            02latin-greek.t 02mac-is.t 
                                            02mac-sami.t 02mac-uk.t 
                                            02macarabic.t 
                                            02maccroatian.t 
                                            02maccyrillic.t 02macgreek.t 
                                            02machebrew.t 02maciceland.t 
                                            02macintosh.t 02macromania.t 
                                            02macthai.t 02macturkish.t 
                                            02macukraine.t 02nats-dano.t 
                                            02nats-sefi.t 02nextstep.t 
                                            02sami-ws2.t 02tis-620.t 
                                            02us-ascii.t 02utf-8.t 
                                            02viscii.t 
                                            03_tester_david_pp.t 
                                            03_tester_david_xs.t 
                                            03bind_textdomain_codeset_pp.t 
                                            03bind_textdomain_codeset_xs.t 
                                            03bind_textdomain_filter_pp.t 
                                            03bind_textdomain_filter_xs.t 
                                            03bindtextdomain_pp.t 
                                            03bindtextdomain_xs.t 
                                            03dcgettext_pp.t 
                                            03dcgettext_xs.t 
                                            03dcngettext_pp.t 
                                            03dcngettext_xs.t 
                                            03dcnpgettext_pp.t 
                                            03dcnpgettext_xs.t 
                                            03dcpgettext_pp.t 
                                            03dcpgettext_xs.t 
                                            03dgettext_pp.t 
                                            03dgettext_xs.t 
                                            03dngettext_pp.t 
                                            03dngettext_xs.t 
                                            03dnpgettext_pp.t 
                                            03dnpgettext_xs.t 
                                            03dpgettext_pp.t 
                                            03dpgettext_xs.t 
                                            03gettext_pp.t 
                                            03gettext_xs.t 
                                            03language_pp.t 
                                            03ngettext_pp.t 
                                            03ngettext_xs.t 
                                            03npgettext_pp.t 
                                            03npgettext_xs.t 
                                            03pgettext_pp.t 
                                            03pgettext_xs.t 
                                            03textdomain_pp.t 
                                            03textdomain_xs.t 
                                            04find_domain_bug.t 
                                            04scalar_noop.t 
                                            05parse_accept.t 
        tp/maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES: 
                                                                      
additional.mo 
                                                                      
existing.mo 
        tp/maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES: 
                                                                         
additional.mo 
                                                                         
existing.mo 
        tp/maintain/lib/libintl-perl/tests/po: Makefile additional.de.po 
                                               additional.de_AT.po 
                                               existing.de.po 
                                               existing.de_AT.po 

Log message:
        Copy the in-source modules to maintain/lib.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Makefile.am?cvsroot=texinfo&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/prove.sh?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/texi2any.pl?cvsroot=texinfo&r1=1.70&r2=1.71
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/README?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/ChangeLog?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/MANIFEST?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/MANIFEST.SKIP?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/Makefile.PL?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/README?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/TODO.txt?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/test.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x00.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x01.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x02.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x03.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x04.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x05.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x06.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x07.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x09.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0a.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0b.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0c.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0d.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x10.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x11.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x12.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x13.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x14.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x15.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x16.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x17.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x18.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x20.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x21.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x22.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x23.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x24.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x25.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x26.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x27.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x28.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x30.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x31.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x32.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x33.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4d.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x50.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x51.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x52.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x53.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x54.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x55.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x56.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x57.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x58.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x59.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5a.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5b.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5c.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5d.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x60.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x61.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x62.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x63.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x64.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x65.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x66.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x67.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x68.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x69.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6a.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6b.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6c.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6d.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x70.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x71.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x72.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x73.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x74.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x75.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x76.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x77.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x78.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x79.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7a.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7b.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7c.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7d.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x80.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x81.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x82.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x83.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x84.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x85.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x86.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x87.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x88.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x89.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8a.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8b.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8c.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8d.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x90.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x91.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x92.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x93.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x94.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x95.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x96.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x97.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x98.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x99.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9a.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9b.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9c.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9d.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9e.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9f.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa0.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa1.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa2.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa3.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa4.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xac.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xad.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xae.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xaf.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb0.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb1.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb2.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb3.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb4.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb5.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb6.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb7.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb8.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb9.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xba.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbb.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbc.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbd.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbe.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbf.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc0.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc1.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc2.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc3.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc4.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc5.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc6.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc7.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc8.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc9.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xca.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcb.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcc.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcd.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xce.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcf.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd0.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd1.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd2.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd3.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd4.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd5.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd6.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd7.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xf9.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfa.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfb.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfc.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfd.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfe.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Text-Unidecode/lib/Text/Unidecode/xff.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/Changes?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/MANIFEST?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/META.yml?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/Makefile.PL?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/README?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/SIGNATURE?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Base.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Can.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Fetch.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Makefile.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Metadata.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Win32.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/WriteAll.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/lib/Unicode/EastAsianWidth.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/t/0-signature.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/Unicode-EastAsianWidth/t/1-basic.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/COPYING.LESSER?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/ChangeLog?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/Credits?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/FAQ?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/MANIFEST?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/META.yml?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/Makefile.PL?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/MyInstall.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/NEWS?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/README?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/README-oldversions?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/README.solaris?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/README.win32?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/REFERENCES?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/ReleaseNotes?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/THANKS?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/TODO?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/test.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/gettext_xs/Makefile.PL?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/gettext_xs/gettext_xs.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/gettext_xs/gettext_xs.xs?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/Messages.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/Recode.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/TextDomain.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/Util.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/gettext_pp.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/gettext_xs.pod?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/libintlFAQ.pod?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/Recode/_Aliases.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/Recode/_Conversions.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ASMO_449.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST_EURO.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP10007.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1250.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1251.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1252.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1253.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1254.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1256.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1257.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CSN_369103.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/CWI.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/DEC_MCS.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_CA_FR.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_A.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_S.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FR.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IT.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_PT.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_UK.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_US.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ECMA_CYRILLIC.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_PS.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/GOST_19768_74.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7_OLD.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK_CCITT.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/HP_ROMAN8.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM037.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM038.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1004.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1026.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1047.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM256.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM273.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM274.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM275.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM277.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM278.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM280.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM281.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM284.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM285.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM290.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM297.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM420.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM423.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM424.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM437.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM500.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM850.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM851.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM852.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM855.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM857.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM860.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM861.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM862.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM863.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM864.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM865.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM866.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM868.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM869.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM870.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM871.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM874.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM875.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM880.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM891.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM903.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM904.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM905.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM918.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/IEC_P27_1.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_8.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_CYRILLIC.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_10367_BOX.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_2033_1983.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427_EXT.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5428.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_1.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_10.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_11.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_13.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_14.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_15.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_16.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_2.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_3.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_4.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_5.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_6.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_7.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_8.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_9.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_R.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_RU.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_T.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_U.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI_8.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK_1.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACARABIC.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCROATIAN.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCYRILLIC.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACGREEK.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACHEBREW.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACICELAND.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACINTOSH.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACROMANIA.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTHAI.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTURKISH.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MACUKRAINE.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_IS.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_SAMI.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_UK.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_DANO.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_SEFI.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/NEXTSTEP.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/SAMI_WS2.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/TIS_620.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/US_ASCII.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/UTF_8.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/VISCII.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/lib/Locale/RecodeData/_Encode.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/README?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/MANIFEST?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/Makefile.PL?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/README-NLS?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/TRANSLATIONS?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/bin/simplecal.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/SimpleCal.pm?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar_SA/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de_AT/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/fr/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ga/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/it/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/nl/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt_BR/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ru/LC_MESSAGES/org.imperia.simplecal.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/Makefile?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/PACKAGE?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/POTFILES.in?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/ar.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/ar_SA.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/de.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/de_AT.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/fr.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/ga.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/it.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/nl.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/org.imperia.simplecal.pot?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/pt.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/pt_BR.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/sample/simplecal/po/ru.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/00gettext.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/00recode.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/01trivial.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02asmo_449.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02atari-st-euro.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02atari-st.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp10007.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp1250.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp1251.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp1252.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp1253.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp1254.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp1256.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cp1257.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02csn_369103.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02cwi.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02dec-mcs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-at-de-a.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-at-de.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-ca-fr.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-dk-no-a.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-dk-no.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-es-a.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-es-s.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-es.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-fi-se-a.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-fi-se.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-fr.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-is-friss.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-it.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-pt.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-uk.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ebcdic-us.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ecma-cyrillic.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02georgian-academy.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02georgian-ps.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02gost_19768-74.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02greek-ccitt.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02greek7-old.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02greek7.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02hp-roman8.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm037.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm038.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm1004.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm1026.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm1047.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm256.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm273.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm274.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm275.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm277.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm278.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm280.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm281.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm284.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm285.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm290.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm297.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm420.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm423.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm424.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm437.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm500.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm850.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm851.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm852.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm855.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm857.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm860.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm861.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm862.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm863.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm864.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm865.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm866.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm868.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm869.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm870.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm871.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm874.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm875.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm880.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm891.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm903.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm904.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm905.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02ibm918.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iec_p27-1.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02inis-8.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02inis-cyrillic.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02inis.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-1.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-10.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-11.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-13.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-14.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-15.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-16.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-2.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-3.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-4.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-5.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-6.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-7.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-8.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso-8859-9.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso_10367-box.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso_2033-1983.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso_5427-ext.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso_5427.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02iso_5428.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02koi-8.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02koi8-r.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02koi8-ru.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02koi8-t.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02koi8-u.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02latin-greek-1.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02latin-greek.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02mac-is.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02mac-sami.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02mac-uk.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02macarabic.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02maccroatian.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02maccyrillic.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02macgreek.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02machebrew.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02maciceland.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02macintosh.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02macromania.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02macthai.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02macturkish.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02macukraine.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02nats-dano.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02nats-sefi.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02nextstep.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02sami-ws2.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02tis-620.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02us-ascii.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02utf-8.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/02viscii.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03_tester_david_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03_tester_david_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_filter_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03bindtextdomain_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03bindtextdomain_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcngettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcngettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcnpgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcnpgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcpgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dcpgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dngettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dngettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dnpgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dnpgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dpgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03dpgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03gettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03gettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03language_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03ngettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03ngettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03npgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03npgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03pgettext_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03pgettext_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03textdomain_pp.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/03textdomain_xs.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/04find_domain_bug.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/04scalar_noop.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/05parse_accept.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/additional.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/existing.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/additional.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/existing.mo?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/po/Makefile?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/po/additional.de.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/po/additional.de_AT.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/po/existing.de.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/maintain/lib/libintl-perl/tests/po/existing.de_AT.po?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/accents.t?cvsroot=texinfo&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/nodenormalization.t?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/paragraph.t?cvsroot=texinfo&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_sort.t?cvsroot=texinfo&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.102&r2=1.103

Patches:
Index: Makefile.am
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Makefile.am,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- Makefile.am 11 Oct 2011 21:40:21 -0000      1.9
+++ Makefile.am 12 Oct 2011 23:50:48 -0000      1.10
@@ -27,6 +27,9 @@
        $(do_subst) $(srcdir)/$< > $@
        chmod a+x $@
 
+makeinfo: texi2any
+       -$(LN_S) texi2any $@
+
 modulesdir = $(pkgdatadir)/Texinfo
 dist_modules_DATA = \
  Texinfo/Parser.pm \
@@ -156,10 +159,10 @@
   texi2any.pl \
   $(test_results) \
   $(test_files) \
-  $(tp_tests)
+  $(tp_tests) \
+  maintain/lib
 
-# FIXME put those somewhere else?  In maintain/lib?
-libsrcdir = $(srcdir)/../texi2html/lib
+libsrcdir = $(srcdir)/maintain/lib
 
 install-data-local:
        $(MKDIR_P) $(DESTDIR)$(pkgdatadir)/lib/libintl-perl/lib/Locale/Recode \
@@ -182,6 +185,9 @@
 install-exec-hook:
        -$(LN_S) texi2any $(DESTDIR)$(bindir)/makeinfo
 
+dist-hook:
+       rm -rf `find $(distdir)/maintain/lib -name CVS`
+
 uninstall-local:
        rm -rf $(DESTDIR)$(pkgdatadir)/lib/
 

Index: prove.sh
===================================================================
RCS file: /sources/texinfo/texinfo/tp/prove.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- prove.sh    25 Sep 2011 22:07:13 -0000      1.1
+++ prove.sh    12 Oct 2011 23:50:49 -0000      1.2
@@ -4,4 +4,4 @@
   srcdir='.'
 fi
 
-prove -I "$srcdir" -I "$srcdir"/../texi2html/lib/Unicode-EastAsianWidth/lib/ 
-I "$srcdir"/../texi2html/lib/libintl-perl/lib -I 
"$srcdir"/../texi2html/lib/Text-Unidecode/lib/ "$srcdir"/t/*.t
+prove -I "$srcdir" -I "$srcdir"/maintain/lib/Unicode-EastAsianWidth/lib/ -I 
"$srcdir"/maintain/lib/libintl-perl/lib -I 
"$srcdir"/maintain/lib/Text-Unidecode/lib/ "$srcdir"/t/*.t

Index: texi2any.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/texi2any.pl,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -b -r1.70 -r1.71
--- texi2any.pl 11 Oct 2011 22:41:53 -0000      1.70
+++ texi2any.pl 12 Oct 2011 23:50:49 -0000      1.71
@@ -121,7 +121,7 @@
 
 my $srcdir = defined $ENV{'srcdir'} ? $ENV{'srcdir'} : dirname $0;
 # FIXME
-my $libsrcdir = "$srcdir/../texi2html";
+my $libsrcdir = "$srcdir/maintain";
 if ($0 =~ /\.pl$/) {
   unshift @INC, "$libsrcdir/lib/libintl-perl/lib";
 } elsif ('@USE_EXTERNAL_LIBINTL@' ne 'yes') {
@@ -145,7 +145,7 @@
   # FIXME
   # or in the texi2html directory
   my $locales_dir_found = 0;
-  foreach my $locales_dir ("../../../tp/t/locales", "$libsrcdir/locales", 
"./locales", '../texi2html/locales') {
+  foreach my $locales_dir ("../../../tp/t/locales", "$libsrcdir/locales", 
"./locales") {
     if (-d $locales_dir) {
       Locale::Messages::bindtextdomain ($strings_textdomain, $locales_dir);
       $locales_dir_found = 1;

Index: t/accents.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/accents.t,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- t/accents.t 29 Sep 2011 22:06:59 -0000      1.16
+++ t/accents.t 12 Oct 2011 23:52:21 -0000      1.17
@@ -3,9 +3,9 @@
 use Test::More;
 BEGIN { plan tests => 63 };
 
-use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
-use lib '../texi2html/lib/libintl-perl/lib/';
-use lib '../texi2html/lib/Text-Unidecode/lib/';
+use lib 'maintain/lib/Unicode-EastAsianWidth/lib/';
+use lib 'maintain/lib/libintl-perl/lib/';
+use lib 'maintain/lib/Text-Unidecode/lib/';
 use Texinfo::Convert::Text;
 use Texinfo::Convert::Converter;
 use Texinfo::Convert::HTML;

Index: t/nodenormalization.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/nodenormalization.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/nodenormalization.t       30 Sep 2011 07:27:01 -0000      1.1
+++ t/nodenormalization.t       12 Oct 2011 23:52:21 -0000      1.2
@@ -1,8 +1,8 @@
 use Test::More;
 BEGIN { plan tests => 3 };
-use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
-use lib '../texi2html/lib/libintl-perl/lib/';
-use lib '../texi2html/lib/Text-Unidecode/lib/';
+use lib 'maintain/lib/Unicode-EastAsianWidth/lib/';
+use lib 'maintain/lib/libintl-perl/lib/';
+use lib 'maintain/lib/Text-Unidecode/lib/';
 use Texinfo::Convert::NodeNameNormalization qw(normalize_node);
 use Texinfo::Parser;
 use Data::Dumper;

Index: t/paragraph.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/paragraph.t,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- t/paragraph.t       26 Sep 2011 17:15:46 -0000      1.20
+++ t/paragraph.t       12 Oct 2011 23:52:21 -0000      1.21
@@ -2,8 +2,7 @@
 
 use Test::More;
 BEGIN { plan tests => 120 };
-use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
-#use lib '../texi2html/lib/libintl-perl/lib/';
+use lib 'maintain/lib/Unicode-EastAsianWidth/lib/';
 use Texinfo::Convert::Paragraph;
 use Texinfo::Convert::Line;
 use Texinfo::Convert::UnFilled;

Index: t/test_sort.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_sort.t,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- t/test_sort.t       14 Aug 2011 01:51:59 -0000      1.10
+++ t/test_sort.t       12 Oct 2011 23:52:21 -0000      1.11
@@ -3,9 +3,9 @@
 use Test::More;
 BEGIN { plan tests => 6 };
 
-use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
-use lib '../texi2html/lib/libintl-perl/lib/';
-use lib '../texi2html/lib/Text-Unidecode/lib/';
+use lib 'maintain/lib/Unicode-EastAsianWidth/lib/';
+use lib 'maintain/lib/libintl-perl/lib/';
+use lib 'maintain/lib/Text-Unidecode/lib/';
 use Texinfo::Convert::Text;
 use Texinfo::Parser;
 use Texinfo::Structuring;

Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -b -r1.102 -r1.103
--- t/test_utils.pl     5 Oct 2011 23:19:00 -0000       1.102
+++ t/test_utils.pl     12 Oct 2011 23:52:21 -0000      1.103
@@ -3,9 +3,9 @@
 use 5.006;
 
 use Test::More;
-use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
-use lib '../texi2html/lib/libintl-perl/lib/';
-use lib '../texi2html/lib/Text-Unidecode/lib/';
+use lib 'maintain/lib/Unicode-EastAsianWidth/lib/';
+use lib 'maintain/lib/libintl-perl/lib/';
+use lib 'maintain/lib/Text-Unidecode/lib/';
 use Texinfo::Parser;
 use Texinfo::Convert::Text;
 use Texinfo::Convert::Texinfo;

Index: maintain/lib/README
===================================================================
RCS file: maintain/lib/README
diff -N maintain/lib/README
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/README 12 Oct 2011 23:50:49 -0000      1.1
@@ -0,0 +1,12 @@
+We ship this version of libintl-perl to be sure that it is available, and
+also to have a consistent behaviour (different gettext implementations do
+things differently). This was downloaded from 
+http://search.cpan.org/CPAN/authors/id/G/GU/GUIDO/libintl-perl-1.20.tar.gz
+in November, 2009.
+
+Same with Unicode-EastAsianWidth. Downloaded from 
+http://search.cpan.org/CPAN/authors/id/A/AU/AUDREYT/Unicode-EastAsianWidth-1.30.tar.gz
+in December, 2009.
+
+Text-Unidecode downloaded in March, 2011 from
+http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/Text-Unidecode-0.04.tar.gz

Index: maintain/lib/Text-Unidecode/ChangeLog
===================================================================
RCS file: maintain/lib/Text-Unidecode/ChangeLog
diff -N maintain/lib/Text-Unidecode/ChangeLog
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/ChangeLog       12 Oct 2011 23:50:49 -0000      
1.1
@@ -0,0 +1,13 @@
+Revision history for Perl module Text::Unidecode
+                                        Time-stamp: "2001-07-14 02:28:13 MDT"
+
+2001-07-14  Sean M. Burke  address@hidden
+       
+       * Release 0.04 -- forgot to put TODO.txt in 0.03.  Now including
+       it.  That's the only change.
+       
+2001-07-14  Sean M. Burke  address@hidden
+       
+       * Release 0.03 -- first public release.
+
+[END OF CHANGELOG]

Index: maintain/lib/Text-Unidecode/MANIFEST
===================================================================
RCS file: maintain/lib/Text-Unidecode/MANIFEST
diff -N maintain/lib/Text-Unidecode/MANIFEST
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/MANIFEST        12 Oct 2011 23:50:49 -0000      
1.1
@@ -0,0 +1,188 @@
+ChangeLog
+MANIFEST
+MANIFEST.SKIP
+Makefile.PL
+README
+TODO.txt
+lib/Text/Unidecode.pm
+lib/Text/Unidecode/x00.pm
+lib/Text/Unidecode/x01.pm
+lib/Text/Unidecode/x02.pm
+lib/Text/Unidecode/x03.pm
+lib/Text/Unidecode/x04.pm
+lib/Text/Unidecode/x05.pm
+lib/Text/Unidecode/x06.pm
+lib/Text/Unidecode/x07.pm
+lib/Text/Unidecode/x09.pm
+lib/Text/Unidecode/x0a.pm
+lib/Text/Unidecode/x0b.pm
+lib/Text/Unidecode/x0c.pm
+lib/Text/Unidecode/x0d.pm
+lib/Text/Unidecode/x0e.pm
+lib/Text/Unidecode/x0f.pm
+lib/Text/Unidecode/x10.pm
+lib/Text/Unidecode/x11.pm
+lib/Text/Unidecode/x12.pm
+lib/Text/Unidecode/x13.pm
+lib/Text/Unidecode/x14.pm
+lib/Text/Unidecode/x15.pm
+lib/Text/Unidecode/x16.pm
+lib/Text/Unidecode/x17.pm
+lib/Text/Unidecode/x18.pm
+lib/Text/Unidecode/x1e.pm
+lib/Text/Unidecode/x1f.pm
+lib/Text/Unidecode/x20.pm
+lib/Text/Unidecode/x21.pm
+lib/Text/Unidecode/x22.pm
+lib/Text/Unidecode/x23.pm
+lib/Text/Unidecode/x24.pm
+lib/Text/Unidecode/x25.pm
+lib/Text/Unidecode/x26.pm
+lib/Text/Unidecode/x27.pm
+lib/Text/Unidecode/x28.pm
+lib/Text/Unidecode/x2e.pm
+lib/Text/Unidecode/x2f.pm
+lib/Text/Unidecode/x30.pm
+lib/Text/Unidecode/x31.pm
+lib/Text/Unidecode/x32.pm
+lib/Text/Unidecode/x33.pm
+lib/Text/Unidecode/x4d.pm
+lib/Text/Unidecode/x4e.pm
+lib/Text/Unidecode/x4f.pm
+lib/Text/Unidecode/x50.pm
+lib/Text/Unidecode/x51.pm
+lib/Text/Unidecode/x52.pm
+lib/Text/Unidecode/x53.pm
+lib/Text/Unidecode/x54.pm
+lib/Text/Unidecode/x55.pm
+lib/Text/Unidecode/x56.pm
+lib/Text/Unidecode/x57.pm
+lib/Text/Unidecode/x58.pm
+lib/Text/Unidecode/x59.pm
+lib/Text/Unidecode/x5a.pm
+lib/Text/Unidecode/x5b.pm
+lib/Text/Unidecode/x5c.pm
+lib/Text/Unidecode/x5d.pm
+lib/Text/Unidecode/x5e.pm
+lib/Text/Unidecode/x5f.pm
+lib/Text/Unidecode/x60.pm
+lib/Text/Unidecode/x61.pm
+lib/Text/Unidecode/x62.pm
+lib/Text/Unidecode/x63.pm
+lib/Text/Unidecode/x64.pm
+lib/Text/Unidecode/x65.pm
+lib/Text/Unidecode/x66.pm
+lib/Text/Unidecode/x67.pm
+lib/Text/Unidecode/x68.pm
+lib/Text/Unidecode/x69.pm
+lib/Text/Unidecode/x6a.pm
+lib/Text/Unidecode/x6b.pm
+lib/Text/Unidecode/x6c.pm
+lib/Text/Unidecode/x6d.pm
+lib/Text/Unidecode/x6e.pm
+lib/Text/Unidecode/x6f.pm
+lib/Text/Unidecode/x70.pm
+lib/Text/Unidecode/x71.pm
+lib/Text/Unidecode/x72.pm
+lib/Text/Unidecode/x73.pm
+lib/Text/Unidecode/x74.pm
+lib/Text/Unidecode/x75.pm
+lib/Text/Unidecode/x76.pm
+lib/Text/Unidecode/x77.pm
+lib/Text/Unidecode/x78.pm
+lib/Text/Unidecode/x79.pm
+lib/Text/Unidecode/x7a.pm
+lib/Text/Unidecode/x7b.pm
+lib/Text/Unidecode/x7c.pm
+lib/Text/Unidecode/x7d.pm
+lib/Text/Unidecode/x7e.pm
+lib/Text/Unidecode/x7f.pm
+lib/Text/Unidecode/x80.pm
+lib/Text/Unidecode/x81.pm
+lib/Text/Unidecode/x82.pm
+lib/Text/Unidecode/x83.pm
+lib/Text/Unidecode/x84.pm
+lib/Text/Unidecode/x85.pm
+lib/Text/Unidecode/x86.pm
+lib/Text/Unidecode/x87.pm
+lib/Text/Unidecode/x88.pm
+lib/Text/Unidecode/x89.pm
+lib/Text/Unidecode/x8a.pm
+lib/Text/Unidecode/x8b.pm
+lib/Text/Unidecode/x8c.pm
+lib/Text/Unidecode/x8d.pm
+lib/Text/Unidecode/x8e.pm
+lib/Text/Unidecode/x8f.pm
+lib/Text/Unidecode/x90.pm
+lib/Text/Unidecode/x91.pm
+lib/Text/Unidecode/x92.pm
+lib/Text/Unidecode/x93.pm
+lib/Text/Unidecode/x94.pm
+lib/Text/Unidecode/x95.pm
+lib/Text/Unidecode/x96.pm
+lib/Text/Unidecode/x97.pm
+lib/Text/Unidecode/x98.pm
+lib/Text/Unidecode/x99.pm
+lib/Text/Unidecode/x9a.pm
+lib/Text/Unidecode/x9b.pm
+lib/Text/Unidecode/x9c.pm
+lib/Text/Unidecode/x9d.pm
+lib/Text/Unidecode/x9e.pm
+lib/Text/Unidecode/x9f.pm
+lib/Text/Unidecode/xa0.pm
+lib/Text/Unidecode/xa1.pm
+lib/Text/Unidecode/xa2.pm
+lib/Text/Unidecode/xa3.pm
+lib/Text/Unidecode/xa4.pm
+lib/Text/Unidecode/xac.pm
+lib/Text/Unidecode/xad.pm
+lib/Text/Unidecode/xae.pm
+lib/Text/Unidecode/xaf.pm
+lib/Text/Unidecode/xb0.pm
+lib/Text/Unidecode/xb1.pm
+lib/Text/Unidecode/xb2.pm
+lib/Text/Unidecode/xb3.pm
+lib/Text/Unidecode/xb4.pm
+lib/Text/Unidecode/xb5.pm
+lib/Text/Unidecode/xb6.pm
+lib/Text/Unidecode/xb7.pm
+lib/Text/Unidecode/xb8.pm
+lib/Text/Unidecode/xb9.pm
+lib/Text/Unidecode/xba.pm
+lib/Text/Unidecode/xbb.pm
+lib/Text/Unidecode/xbc.pm
+lib/Text/Unidecode/xbd.pm
+lib/Text/Unidecode/xbe.pm
+lib/Text/Unidecode/xbf.pm
+lib/Text/Unidecode/xc0.pm
+lib/Text/Unidecode/xc1.pm
+lib/Text/Unidecode/xc2.pm
+lib/Text/Unidecode/xc3.pm
+lib/Text/Unidecode/xc4.pm
+lib/Text/Unidecode/xc5.pm
+lib/Text/Unidecode/xc6.pm
+lib/Text/Unidecode/xc7.pm
+lib/Text/Unidecode/xc8.pm
+lib/Text/Unidecode/xc9.pm
+lib/Text/Unidecode/xca.pm
+lib/Text/Unidecode/xcb.pm
+lib/Text/Unidecode/xcc.pm
+lib/Text/Unidecode/xcd.pm
+lib/Text/Unidecode/xce.pm
+lib/Text/Unidecode/xcf.pm
+lib/Text/Unidecode/xd0.pm
+lib/Text/Unidecode/xd1.pm
+lib/Text/Unidecode/xd2.pm
+lib/Text/Unidecode/xd3.pm
+lib/Text/Unidecode/xd4.pm
+lib/Text/Unidecode/xd5.pm
+lib/Text/Unidecode/xd6.pm
+lib/Text/Unidecode/xd7.pm
+lib/Text/Unidecode/xf9.pm
+lib/Text/Unidecode/xfa.pm
+lib/Text/Unidecode/xfb.pm
+lib/Text/Unidecode/xfc.pm
+lib/Text/Unidecode/xfd.pm
+lib/Text/Unidecode/xfe.pm
+lib/Text/Unidecode/xff.pm
+test.pl

Index: maintain/lib/Text-Unidecode/MANIFEST.SKIP
===================================================================
RCS file: maintain/lib/Text-Unidecode/MANIFEST.SKIP
diff -N maintain/lib/Text-Unidecode/MANIFEST.SKIP
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/MANIFEST.SKIP   12 Oct 2011 23:50:49 -0000      
1.1
@@ -0,0 +1,3 @@
+Makefile$
+~$
+.tar.gz$

Index: maintain/lib/Text-Unidecode/Makefile.PL
===================================================================
RCS file: maintain/lib/Text-Unidecode/Makefile.PL
diff -N maintain/lib/Text-Unidecode/Makefile.PL
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/Makefile.PL     12 Oct 2011 23:50:49 -0000      
1.1
@@ -0,0 +1,20 @@
+require 5.006;
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+    'NAME'     => 'Text::Unidecode',
+    'VERSION_FROM' => 'lib/Text/Unidecode.pm', # finds $VERSION
+    'dist'        => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+);
+
+package MY;
+
+sub libscan
+{ # Determine things that should *not* be installed
+    my($self, $path) = @_;
+    return '' if $path =~ m/~/;
+    $path;
+}
+
+__END__

Index: maintain/lib/Text-Unidecode/README
===================================================================
RCS file: maintain/lib/Text-Unidecode/README
diff -N maintain/lib/Text-Unidecode/README
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/README  12 Oct 2011 23:50:49 -0000      1.1
@@ -0,0 +1,98 @@
+README for Text::Unidecode
+                                        Time-stamp: "2001-07-14 02:03:33 MDT"
+
+                          Text::Unidecode
+
+NAME
+    Text::Unidecode -- US-ASCII transliterations of Unicode text
+
+SYNOPSIS
+      use utf8;
+      use Text::Unidecode;
+      print unidecode(
+        "\x{5317}\x{4EB0}\n"
+         # those are the Chinese characters for Beijing
+      );
+  
+      # That prints: Bei Jing 
+
+DESCRIPTION
+
+    It often happens that you have non-Roman text data in Unicode, but
+    you can't display it -- usually because you're trying to show it
+    to a user via an application that doesn't support Unicode, or
+    because the fonts you need aren't accessible. You could represent
+    the Unicode characters as "???????" or "\15BA\15A0\1610...", but
+    that's nearly useless to the user who actually wants to read what
+    the text says.
+
+    What Text::Unidecode provides is a function, `unidecode(...)' that
+    takes Unicode data and tries to represent it in US-ASCII
+    characters (i.e., the universally displayable characters between
+    0x00 and 0x7F). The representation is almost always an attempt at
+    *transliteration* -- i.e., conveying, in Roman letters, the
+    pronunciation expressed by the text in some other writing
+    system. (See the example in the synopsis.)
+
+
+See the POD for more information.
+
+
+REQUIREMENTS
+
+This module requires Perl 5.6.0 or higher.  (Earlier Perls apparently
+lack the "use utf8" pragma that Text::Unidecode needs.)
+I have also observed that 5.6.0's Unicode support is shakey; strongly
+consider upgrading to 5.6.1 at least.
+
+
+
+INSTALLATION
+
+You install Text::Unidecode, as you would install any perl module
+library, by running these commands:
+
+   perl Makefile.PL
+   make
+   make test
+   make install
+
+If you want to install a private copy of Text::Unidecode in your home
+directory, then you should try to produce the initial Makefile with
+something like this command:
+
+  perl Makefile.PL LIB=~/perl
+
+See perldoc perlmodinstall for more information on installing modules.
+
+
+DOCUMENTATION
+
+POD-format documentation is included in Unidecode.pm.  POD is readable
+with the 'perldoc' utility.  See ChangeLog for recent changes.
+
+
+SUPPORT
+
+Questions, bug reports, useful code bits, and suggestions for
+Text::Unidecode should just be sent to me at address@hidden
+
+
+AVAILABILITY
+
+The latest version of Text::Unidecode is available from the
+Comprehensive Perl Archive Network (CPAN).  Visit
+<http://www.perl.com/CPAN/> to find a CPAN site near you.
+
+
+COPYRIGHT
+
+Copyright 2001, Sean M. Burke <address@hidden>, all rights reserved.
+
+The programs and documentation in this dist are distributed in the
+hope that they will be useful, but without any warranty; without even
+the implied warranty of merchantability or fitness for a particular
+purpose.
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.

Index: maintain/lib/Text-Unidecode/TODO.txt
===================================================================
RCS file: maintain/lib/Text-Unidecode/TODO.txt
diff -N maintain/lib/Text-Unidecode/TODO.txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/TODO.txt        12 Oct 2011 23:50:49 -0000      
1.1
@@ -0,0 +1,103 @@
+Text::Unidecode Transliteration Notes -- TODO FILE
+
+
+
+============================== BLOCK 03 ==============================
+
+Coptic things I'm unsure of: Khei=kh, Gangia=g, Shima=ch, Dei=ti.
+
+
+============================== BLOCK 09 ==============================
+
+What's an isshar? (09FA = "bengali isshar")
+
+
+============================== BLOCK 0b ==============================
+
+What's an isshar?  (0B70 = "oriya isshar")
+
+
+============================== BLOCK 0e ==============================
+
+What is 0E4C = "thai character thanthakhat" ?
+
+What is 0E4E = "thai character yamakkan" ?
+
+
+============================== BLOCK 0f ==============================
+
+Various questions to do with Tibetan (0f00-0fff)...
+
+A lot of these characters end up as "".  What to do with them?
+
+How to represent these Astrological signs, 0F15-0F1F ?
+
+What is a 0F38 = "Tibetan mark Che Mgo" ?
+
+Should I leave "Marks and Signs" (0F82-0F87) as ""?
+
+What to do with "Transliteration head letters" (0F88-0F8B) ?
+
+
+============================== BLOCK 11 ==============================
+
+Various Hangul components need checking:
+
+What are chitueumsios, chitueumssangsios,
+ceongchieumsios, and ceongchieumssangsios?
+
+Is "Z" a good transliteration for pansios?
+
+I'm using "N" for yesieung and kapyeoun both.  Is this right?
+
+What are chitueumcieuc, chitueumssangcieuc, ceongchieumcieuc,
+ceongchieumssangcieuc, chitueumchieuch, and ceongchieumchieuch?
+
+Is "kapyeounphieuph" best transliterated as "Np" or "pN"?,
+and so on for: kapyeounrieul, kapyeounmieum, kapyeounpieup,
+kapyeounssangpieup, kapyeounphieuph
+
+I'm using "Q" for yeorinhieuh, apparently an archaic glottal
+stop character.  Is that right?
+
+
+============================== BLOCK 14 ==============================
+
+How to transliterate 0x1426,
+AKA "canadian syllabics final double short vertical strokes"?
+
+How to transliterate 0x1429, AKA "canadian syllabics final plus"?
+
+
+============================== BLOCK 16 ==============================
+
+Fact-check the Ogham and Runes.
+
+What are eabhadh, or, uilleann, ifin, eamhancholl, and peith (1695-169A)?
+
+
+============================== BLOCK 18 ==============================
+
+What's 180A = "Mongolian nirugu" ?
+
+
+============================== BLOCK 31 ==============================
+
+I leave the Kaeriten (3190-319F) as null-string.  Is that good?
+
+
+============================== BLOCK fb ==============================
+
+Arabic Presentation Forms-A (FB50-FDFF) -- do I need to
+do these, or are they never actually found in text files?
+
+
+============================== BLOCK fe ==============================
+
+Arabic Presentation Forms-B (FE70-FEFF) -- do I need to
+do these, or are they never actually found in text files?
+
+
+
+--
+26 TODOs at Sat Jul 14 00:27:44 2001

Index: maintain/lib/Text-Unidecode/test.pl
===================================================================
RCS file: maintain/lib/Text-Unidecode/test.pl
diff -N maintain/lib/Text-Unidecode/test.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/test.pl 12 Oct 2011 23:50:50 -0000      1.1
@@ -0,0 +1,96 @@
+
+# Before `make install' is performed this script should be runnable with
+# `make test'. After `make install' it should work as `perl test.pl'
+
+######################### We start with some black magic to print on failure.
+ # Time-stamp: "2001-07-14 01:48:48 MDT"
+
+require 5.006;
+ # This is a Perl program.
+use strict;
+use utf8;
+use Test;
+
+BEGIN { plan tests => 17 }
+
+use Text::Unidecode;
+
+ok 1;
+print "# Text::Unidecode v$Text::Unidecode::VERSION\n",
+      "# Perl v$]\n",
+      "# Starting tests...\n";
+
+my $in = "\x{0d9c}\x{0d8e}!\n";
+my($was, $should, $is);
+foreach my $line (
+
+#"# 7-bit purity tests: all chars 00 to 7F\n",
+#map(\ord($_), 0x00 .. 0x7f),
+
+"# Basic string tests\n",
+\(
+  "",
+  1/10,
+  "I like pie.",
+  "\n",
+  "\cm\cj",
+  "I like pie.\n",
+),
+
+"#\n",
+"# COMPLEX TESTS\n",
+
+split(m/\n/, <<"EOTESTS"),
+<\x{C6}neid> <AEneid>
+<\x{E9}tude> <etude>
+<\x{5317}\x{4EB0}> <Bei Jing >
+ ; Chinese
+<\x{1515}\x{14c7}\x{14c7}> <shanana>
+ ; Canadian syllabics
+<\x{13d4}\x{13b5}\x{13c6}> <taliqua>
+ ; Cherokee
+<\x{0726}\x{071b}\x{073d}\x{0710}\x{073a}> <ptu'i>
+ ; Syriac
+<\x{0905}\x{092d}\x{093f}\x{091c}\x{0940}\x{0924}> <abhijiit>
+ ; Devanagari
+<\x{0985}\x{09ad}\x{09bf}\x{099c}\x{09c0}\x{09a4}> <abhijiit>
+ ; Bengali
+<\x{0d05}\x{0d2d}\x{0d3f}\x{0d1c}\x{0d40}\x{0d24}> <abhijiit>
+ ; Malayalaam
+<\x{0d2e}\x{0d32}\x{0d2f}\x{0d3e}\x{0d32}\x{0d2e}\x{0d4d}> <mlyaalm>
+ ; the Malayaalam word for "Malayaalam"
+ ; Yes, if we were doing it right, that'd be "malayaalam", not "mlyaalm"
+
+<\x{3052}\x{3093}\x{307e}\x{3044}\x{8336}> <genmaiCha >
+ ; Japanese, astonishingly unmangled.
+
+EOTESTS
+
+# TODO: more tests, I guess.
+
+"# End of test data\n",
+) {
+  if(ref $line) { # it should pass thru untouched
+    #print ref($line), "\n";
+    $was = $should = $$line;
+  } else {
+    if($line =~ m/<(.*?)>\s*<(.*?)>/ or $line =~ m/\[(.*?)\]\s*\[(.*?)\]/ ){
+      ($was, $should) = ($1,$2);
+    } else {
+      print $line if $line =~ m/^\s*#/s;
+      next;
+    }
+  }
+  $is = unidecode($was);
+  if($should eq $is) {
+    ok 1;
+    for($should, $is, $was) { s/\n/\\n/g; s/\cm/\\cm/g; s/\cj/\\cj/g; }
+    print "  # <$was> -> <$is> (ok)\n";
+  } else {
+    ok 0;
+    for($should, $is, $was) { s/\n/\\n/g }
+    print "  # <$was> -> <$is>, but should be <$should>\n";
+  }
+}
+print "# Byebye\n";
+

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode.pm   12 Oct 2011 23:50:50 
-0000      1.1
@@ -0,0 +1,432 @@
+
+require 5.006;
+package Text::Unidecode;  # Time-stamp: "2001-07-14 02:29:41 MDT"
+use utf8;
+use strict;
+use integer; # vroom vroom!
+use vars qw($VERSION @ISA @EXPORT @Char $NULLMAP);
+$VERSION = '0.04';
+require Exporter;
address@hidden = ('Exporter');
address@hidden = ('unidecode');
+
+BEGIN { *DEBUG = sub () {0} unless defined &DEBUG }
+
+$NULLMAP = [('[?] ') x 0x100];  # for blocks we can't load
+
+#--------------------------------------------------------------------------
+{
+  my $x = join '', "\x00" .. "\x7F";
+  die "the 7-bit purity test fails!" unless $x eq unidecode($x);
+}
+
+#--------------------------------------------------------------------------
+
+sub unidecode {
+  # Destructive in void context -- in other contexts, nondestructive.
+
+  unless(@_) {
+    # Nothing coming in
+    return() if wantarray;
+    return '';
+  }
+  @_ = map $_, @_ if defined wantarray;
+   # We're in list or scalar context, NOT void context.
+   #  So make @_'s items no longer be aliases.
+   # Otherwise, let @_ be aliases, and alter in-place.
+
+  foreach my $x (@_) {
+    next unless defined $x;    
+    $x =~ s~([^\x00-\x7f])~${$Char[ord($1)>>8]||t($1)}[ord($1)&255]~egs;
+      # Replace character 0xABCD with $Char[0xAB][0xCD], loading
+      #  the table as needed.
+  }
+
+  return unless defined wantarray; # void context
+  return @_ if wantarray;  # normal list context -- return the copies
+  # Else normal scalar context:
+  return $_[0] if @_ == 1;
+  return join '', @_;      # rarer fallthru: a list in, but a scalar out.
+}
+
+sub t {
+ # load (and return) a char table for this character
+ # this should get called only once per table per session.
+ my $bank = ord($_[0]) >> 8;
+ return $Char[$bank] if $Char[$bank];
+ 
+        {
+           DEBUG and printf "Loading %s::x%02x\n", __PACKAGE__, $bank;
+           local $SIG{'__DIE__'};
+           eval(sprintf 'require %s::x%02x;', __PACKAGE__, $bank);
+        }
+        
+        # Now see how that fared...
+        if(ref($Char[$bank] || '') ne 'ARRAY') {
+          DEBUG > 1 and print
+            " Loading failed for bank $bank (err $@).  Using null map.\n";
+          return $Char[$bank] = $NULLMAP;
+        } else {
+          DEBUG > 1 and print " Succeeded.\n";
+          if(DEBUG) {
+            # Sanity-check it:
+            my $cb = $Char[$bank];
+            unless(@$cb == 256) {
+              printf "Block x%02x is of size %d -- chopping to 256\n",
+                  scalar(@$cb);
+              $#$cb = 255;   # pre-extend the array, or chop it to size.
+            }
+            for(my $i = 0; $i < 256; ++$i) {
+              unless(defined $cb->[$i]) {
+                printf "Undef at position %d in block x%02x\n",
+                  $i, $bank;
+                $cb->[$i] = '';
+              }
+            }
+          }
+          return $Char[$bank];
+        }
+}
+
+#--------------------------------------------------------------------------
+1;
+__END__
+
+=head1 NAME
+
+Text::Unidecode -- US-ASCII transliterations of Unicode text
+
+=head1 SYNOPSIS
+
+  use utf8;
+  use Text::Unidecode;
+  print unidecode(
+    "\x{5317}\x{4EB0}\n"
+     # those are the Chinese characters for Beijing
+  );
+  
+  # That prints: Bei Jing 
+
+=head1 DESCRIPTION
+
+It often happens that you have non-Roman text data in Unicode, but
+you can't display it -- usually because you're trying to
+show it to a user via an application that doesn't support Unicode,
+or because the fonts you need aren't accessible.  You could
+represent the Unicode characters as "???????" or
+"\15BA\15A0\1610...", but that's nearly useless to the user who
+actually wants to read what the text says.
+
+What Text::Unidecode provides is a function, C<unidecode(...)> that
+takes Unicode data and tries to represent it in US-ASCII characters
+(i.e., the universally displayable characters between 0x00 and
+0x7F).  The representation is
+almost always an attempt at I<transliteration> -- i.e., conveying,
+in Roman letters, the pronunciation expressed by the text in
+some other writing system.  (See the example in the synopsis.)
+
+Unidecode's ability to transliterate is limited by two factors:
+
+=over
+
+=item * The amount and quality of data in the original
+
+So if you have Hebrew data
+that has no vowel points in it, then Unidecode cannot guess what
+vowels should appear in a pronounciation.
+S f y hv n vwls n th npt, y wn't gt ny vwls
+n th tpt.  (This is a specific application of the general principle
+of "Garbage In, Garbage Out".)
+
+=item * Basic limitations in the Unidecode design
+
+Writing a real and clever transliteration algorithm for any single
+language usually requires a lot of time, and at least a passable
+knowledge of the language involved.  But Unicode text can convey
+more languages than I could possibly learn (much less create a
+transliterator for) in the entire rest of my lifetime.  So I put
+a cap on how intelligent Unidecode could be, by insisting that
+it support only context-I<in>sensitive transliteration.  That means
+missing the finer details of any given writing system,
+while still hopefully being useful.
+
+=back
+
+Unidecode, in other words, is quick and
+dirty.  Sometimes the output is not so dirty at all:
+Russian and Greek seem to work passably; and
+while Thaana (Divehi, AKA Maldivian) is a definitely non-Western
+writing system, setting up a mapping from it to Roman letters
+seems to work pretty well.  But sometimes the output is I<very
+dirty:> Unidecode does quite badly on Japanese and Thai.
+
+If you want a smarter transliteration for a particular language
+than Unidecode provides, then you should look for (or write)
+a transliteration algorithm specific to that language, and apply
+it instead of (or at least before) applying Unidecode.
+
+In other words, Unidecode's
+approach is broad (knowing about dozens of writing systems), but
+shallow (not being meticulous about any of them).
+
+=head1 FUNCTIONS
+
+Text::Unidecode provides one function, C<unidecode(...)>, which
+is exported by default.  It can be used in a variety of calling contexts:
+
+=over
+
+=item C<$out = unidecode($in);> # scalar context
+
+This returns a copy of $in, transliterated.
+
+=item C<$out = unidecode(@in);> # scalar context
+
+This is the same as C<$out = unidecode(join '', @in);>
+
+=item C<@out = unidecode(@in);> # list context
+
+This returns a list consisting of copies of @in, each transliterated.  This
+is the same as C<@out = map scalar(unidecode($_)), @in;>
+
+=item C<unidecode(@items);> # void context
+
+=item C<unidecode(@bar, $foo, @baz);> # void context
+
+Each item on input is replaced with its transliteration.  This
+is the same as C<for(@bar, $foo, @baz) { $_ = unidecode($_) }>
+
+=back
+
+You should make a minimum of assumptions about the output of
+C<unidecode(...)>.  For example, if you assume an all-alphabetic
+(Unicode) string passed to C<unidecode(...)> will return an all-alphabetic
+string, you're wrong -- some alphabetic Unicode characters are
+transliterated as strings containing punctuation (e.g., the
+Armenian letter at 0x0539 currently transliterates as C<T`>.
+
+However, these are the assumptions you I<can> make:
+
+=over
+
+=item *
+
+Each character 0x0000 - 0x007F transliterates as itself.  That is,
+C<unidecode(...)> is 7-bit pure.
+
+=item *
+
+The output of C<unidecode(...)> always consists entirely of US-ASCII
+characters -- i.e., characters 0x0000 - 0x007F.
+
+=item *
+
+All Unicode characters translate to a sequence of (any number of)
+characters that are newline ("\n") or in the range 0x0020-0x007E.  That
+is, no Unicode character translates to "\x01", for example.  (Altho if
+you have a "\x01" on input, you'll get a "\x01" in output.)
+
+=item *
+
+Yes, some transliterations produce a "\n" -- but just a few, and only
+with good reason.  Note that the value of newline ("\n") varies
+from platform to platform -- see L<perlport/perlport>.
+
+=item *
+
+Some Unicode characters may transliterate to nothing (i.e., empty string).
+
+=item *
+
+Very many Unicode characters transliterate to multi-character sequences.
+E.g., Han character 0x5317 transliterates as the four-character string
+"Bei ".
+
+=item *
+
+Within these constraints, I may change the transliteration of characters
+in future versions.  For example, if someone convinces me that
+the Armenian letter at 0x0539, currently transliterated as "T`", would
+be better transliterated as "D", I may well make that change.
+
+=back
+
+=head1 DESIGN GOALS AND CONSTRAINTS
+
+Text::Unidecode is meant to be a transliterator-of-last resort,
+to be used once you've decided that you can't just display the
+Unicode data as is, and once you've decided you don't have a
+more clever, language-specific transliterator available.  It
+transliterates context-insensitively -- that is, a given character is
+replaced with the same US-ASCII (7-bit ASCII) character or characters,
+no matter what the surrounding character are.
+
+The main reason I'm making Text::Unidecode work with only
+context-insensitive substitution is that it's fast, dumb, and
+straightforward enough to be feasable.  It doesn't tax my
+(quite limited) knowledge of world languages.  It doesn't require
+me writing a hundred lines of code to get the Thai syllabification
+right (and never knowing whether I've gotten it wrong, because I
+don't know Thai), or spending a year trying to get Text::Unidecode
+to use the ChaSen algorithm for Japanese, or trying to write heuristics
+for telling the difference between Japanese, Chinese, or Korean, so
+it knows how to transliterate any given Uni-Han glyph.  And
+moreover, context-insensitive substitution is still mostly useful,
+but still clearly couldn't be mistaken for authoritative.
+
+Text::Unidecode is an example of the 80/20 rule in
+action -- you get 80% of the usefulness using just 20% of a
+"real" solution.
+
+A "real" approach to transliteration for any given language can
+involve such increasingly tricky contextual factors as these
+
+=over
+
+=item The previous / preceding character(s)
+
+What a given symbol "X" means, could
+depend on whether it's followed by a consonant, or by vowel, or
+by some diacritic character.
+
+=item Syllables
+
+A character "X" at end of a syllable could mean something
+different from when it's at the start -- which is especially problematic
+when the language involved doesn't explicitly mark where one syllable
+stops and the next starts.
+
+=item Parts of speech
+
+What "X" sounds like at the end of a word,
+depends on whether that word is a noun, or a verb, or what.
+
+=item Meaning
+
+By semantic context, you can tell that this ideogram "X" means "shoe"
+(pronounced one way) and not "time" (pronounced another),
+and that's how you know to transliterate it one way instead of the other.
+
+=item Origin of the word
+
+"X" means one thing in loanwords and/or placenames (and
+derivatives thereof), and another in native words.
+
+=item "It's just that way"
+
+"X" normally makes
+the /X/ sound, except for this list of seventy exceptions (and words based
+on them, sometimes indirectly).  Or: you never can tell which of the three
+ways to pronounce "X" this word actually uses; you just have to know
+which it is, so keep a dictionary on hand!
+
+=item Language
+
+The character "X" is actually used in several different languages, and you
+have to figure out which you're looking at before you can determine how
+to transliterate it.
+
+=back
+
+Out of a desire to avoid being mired in I<any> of these kinds of
+contextual factors, I chose to exclude I<all of them> and just stick
+with context-insensitive replacement.
+
+=head1 TODO
+
+Things that need tending to are detailed in the TODO.txt file, included
+in this distribution.  Normal installs probably don't leave the TODO.txt
+lying around, but if nothing else, you can see it at
+http://search.cpan.org/search?dist=Text::Unidecode
+
+=head1 MOTTO
+
+The Text::Unidecode motto is:
+
+  It's better than nothing!
+
+...in both meanings: 1) seeing the output of C<unidecode(...)> is
+better than just having all font-unavailable Unicode characters
+replaced with "?"'s, or rendered as gibberish; and 2) it's the
+worst, i.e., there's nothing that Text::Unidecode's algorithm is
+better than.
+
+=head1 CAVEATS
+
+If you get really implausible nonsense out of C<unidecode(...)>, make
+sure that the input data really is a utf8 string.  See
+L<perlunicode/perlunicode>.
+
+=head1 THANKS
+
+Thanks to Harald Tveit Alvestrand,
+Abhijit Menon-Sen, and Mark-Jason Dominus.
+
+=head1 SEE ALSO
+
+Unicode Consortium: http://www.unicode.org/
+
+Geoffrey Sampson.  1990.  I<Writing Systems: A Linguistic Introduction.>
+ISBN: 0804717567
+
+Randall K. Barry (editor).  1997.  I<ALA-LC Romanization Tables:
+Transliteration Schemes for Non-Roman Scripts.>
+ISBN: 0844409405
+[ALA is the American Library Association; LC is the Library of
+Congress.]
+
+Rupert Snell.  2000.  I<Beginner's Hindi Script (Teach Yourself
+Books).>  ISBN: 0658009109
+
+=head1 COPYRIGHT AND DISCLAIMERS
+
+Copyright (c) 2001 Sean M. Burke. All rights reserved.
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+This program is distributed in the hope that it will be useful, but
+without any warranty; without even the implied warranty of
+merchantability or fitness for a particular purpose.
+
+Much of Text::Unidecode's internal data is based on data from The
+Unicode Consortium, with which I am unafiliated.
+
+=head1 AUTHOR
+
+Sean M. Burke C<address@hidden>
+
+=cut
+
+#################### SCOOBIE SNACK ####################
+
+Lest there be any REMAINING doubt that the Unicode Consortium has
+a sense of humor, the CDROM that comes with /The Unicode Standard,
+Version 3.0/ book, has an audio track of the Unicode anthem [!].
+The lyrics are:
+
+       Unicode, Oh Unicode!
+       --------------------
+
+       Oh, beautiful for Uni-Han,
+       for spacious User Zone!
+       For rampant scripts of India
+       and polar Nunavut!
+
+         Chorus:
+               Unicode, Oh Unicode!
+               May all your code points shine forever
+               and your beacon light the world!
+
+       Oh, marvelous for sixteen bits,
+       for precious surrogates!
+       For Bi-Di algorithm dear
+       and stalwart I-P-A!
+
+       Oh, glorious for Hangul fair,
+       for symbols mathematical!
+       For myriad exotic scripts
+       and punctuation we adore!
+
+# End.
+

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x00.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x00.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x00.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x00.pm       12 Oct 2011 
23:50:50 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:20 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x00] = [
+qq{\x00}, qq{\x01}, qq{\x02}, qq{\x03}, qq{\x04}, qq{\x05}, qq{\x06}, 
qq{\x07}, qq{\x08}, qq{\x09}, qq{\x0a}, qq{\x0b}, qq{\x0c}, qq{\x0d}, qq{\x0e}, 
qq{\x0f},
+qq{\x10}, qq{\x11}, qq{\x12}, qq{\x13}, qq{\x14}, qq{\x15}, qq{\x16}, 
qq{\x17}, qq{\x18}, qq{\x19}, qq{\x1a}, qq{\x1b}, qq{\x1c}, qq{\x1d}, qq{\x1e}, 
qq{\x1f},
+' ', qq{!}, qq{"}, qq{#}, qq{\$}, qq{%}, qq{&}, qq{'}, qq{(}, qq{)}, qq{*}, 
qq{+}, qq{,}, qq{-}, qq{.}, qq{/},
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', qq{:}, qq{;}, qq{<}, qq{=}, 
qq{>}, qq{?},
address@hidden, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 
'M', 'N', 'O',
+'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', qq{]}, qq{\\}, qq{]}, 
qq{^}, qq{_},
+qq{`}, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 
'o',
+'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', qq{\{}, qq{|}, qq{\}}, 
qq{~}, qq{\x7f},
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+' ', qq{!}, qq{C/}, 'PS', qq{\$?}, qq{Y=}, qq{|}, 'SS', qq{"}, qq{(c)}, 'a', 
qq{<<}, qq{!}, "", qq{(r)}, qq{-},
+'deg', qq{+-}, '2', '3', qq{'}, 'u', 'P', qq{*}, qq{,}, '1', 'o', qq{>>}, 
qq{1/4}, qq{1/2}, qq{3/4}, qq{?},
+'A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 
'I',
+'D', 'N', 'O', 'O', 'O', 'O', 'O', 'x', 'O', 'U', 'U', 'U', 'U', 'U', 'Th', 
'ss',
+'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 
'i',
+'d', 'n', 'o', 'o', 'o', 'o', 'o', qq{/}, 'o', 'u', 'u', 'u', 'u', 'y', 'th', 
'y',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x01.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x01.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x01.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x01.pm       12 Oct 2011 
23:50:50 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:20 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x01] = [
+'A', 'a', 'A', 'a', 'A', 'a', 'C', 'c', 'C', 'c', 'C', 'c', 'C', 'c', 'D', 'd',
+'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'G', 'g', 'G', 'g',
+'G', 'g', 'G', 'g', 'H', 'h', 'H', 'h', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i',
+'I', 'i', 'IJ', "", 'J', 'j', 'K', 'k', 'k', 'L', 'l', 'L', 'l', 'L', 'l', 'L',
+'l', 'L', 'l', 'N', 'n', 'N', 'n', 'N', 'n', qq{'n}, 'ng', 'NG', 'O', 'o', 
'O', 'o',
+'O', 'o', 'OE', 'oe', 'R', 'r', 'R', 'r', 'R', 'r', 'S', 's', 'S', 's', 'S', 
's',
+'S', 's', 'T', 't', 'T', 't', 'T', 't', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u',
+'U', 'u', 'U', 'u', 'W', 'w', 'Y', 'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's',
+'b', 'B', 'B', 'b', '6', '6', 'O', 'C', 'c', 'D', 'D', 'D', 'd', 'd', '3', 
address@hidden,
+'E', 'F', 'f', 'G', 'G', 'hv', 'I', 'I', 'K', 'k', 'l', 'l', 'W', 'N', 'n', 
'O',
+'O', 'o', 'OI', 'oi', 'P', 'p', 'YR', '2', '2', 'SH', 'sh', 't', 'T', 't', 
'T', 'U',
+'u', 'Y', 'V', 'Y', 'y', 'Z', 'z', 'ZH', 'ZH', 'zh', 'zh', '2', '5', '5', 
'ts', 'w',
+qq{|}, qq{||}, qq{|=}, qq{!}, 'DZ', 'Dz', 'dz', 'LJ', 'Lj', 'lj', 'NJ', 'Nj', 
'nj', 'A', 'a', 'I',
+'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 
address@hidden, 'A', 'a',
+'A', 'a', 'AE', 'ae', 'G', 'g', 'G', 'g', 'K', 'k', 'O', 'o', 'O', 'o', 'ZH', 
'zh',
+'j', 'DZ', 'D', 'dz', 'G', 'g', 'HV', 'W', 'N', 'n', 'A', 'a', 'AE', 'ae', 
'O', 'o',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x02.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x02.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x02.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x02.pm       12 Oct 2011 
23:50:50 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:20 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x02] = [
+'A', 'a', 'A', 'a', 'E', 'e', 'E', 'e', 'I', 'i', 'I', 'i', 'O', 'o', 'O', 'o',
+'R', 'r', 'R', 'r', 'U', 'u', 'U', 'u', 'S', 's', 'T', 't', 'Y', 'y', 'H', 'h',
+'[?]', '[?]', 'OU', 'ou', 'Z', 'z', 'A', 'a', 'E', 'e', 'O', 'o', 'O', 'o', 
'O', 'o',
+'O', 'o', 'Y', 'y', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'a', 'a', 'a', 'b', 'o', 'c', 'd', 'd', 'e', address@hidden, address@hidden, 
'e', 'e', 'e', 'e', 'j',
+'g', 'g', 'g', 'g', 'u', 'Y', 'h', 'h', 'i', 'i', 'I', 'l', 'l', 'l', 'lZ', 
'W',
+'W', 'm', 'n', 'n', 'n', 'o', 'OE', 'O', 'F', 'R', 'R', 'R', 'R', 'r', 'r', 
'R',
+'R', 'R', 's', 'S', 'j', 'S', 'S', 't', 't', 'U', 'U', 'v', qq{^}, 'W', 'Y', 
'Y',
+'z', 'z', 'Z', 'Z', qq{?}, qq{?}, qq{?}, 'C', address@hidden, 'B', 'E', 'G', 
'H', 'j', 'k', 'L',
+'q', qq{?}, qq{?}, 'dz', 'dZ', 'dz', 'ts', 'tS', 'tC', 'fN', 'ls', 'lz', 'WW', 
qq{]]}, '[?]', '[?]',
+'k', 'h', 'j', 'r', 'r', 'r', 'r', 'w', 'y', qq{'}, qq{"}, qq{`}, qq{'}, 
qq{`}, qq{`}, qq{'},
+qq{?}, qq{?}, qq{<}, qq{>}, qq{^}, 'V', qq{^}, 'V', qq{'}, qq{-}, qq{/}, 
qq{\\}, qq{,}, qq{_}, qq{\\}, qq{/},
+qq{:}, qq{.}, qq{`}, qq{'}, qq{^}, 'V', qq{+}, qq{-}, 'V', qq{.}, 
address@hidden, qq{,}, qq{~}, qq{"}, 'R', 'X',
+'G', 'l', 's', 'x', qq{?}, "", "", "", "", "", "", "", 'V', qq{=}, qq{"}, 
'[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x03.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x03.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x03.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x03.pm       12 Oct 2011 
23:50:50 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:20 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x03] = [
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+"", "", "", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', qq{'}, qq{,}, '[?]', '[?]', '[?]', '[?]', "", 
'[?]', '[?]', '[?]', qq{?}, '[?]',
+'[?]', '[?]', '[?]', '[?]', "", "", 'A', qq{;}, 'E', 'E', 'I', '[?]', 'O', 
'[?]', 'U', 'O',
+'I', 'A', 'B', 'G', 'D', 'E', 'Z', 'E', 'Th', 'I', 'K', 'L', 'M', 'N', 'Ks', 
'O',
+'P', 'R', '[?]', 'S', 'T', 'U', 'Ph', 'Kh', 'Ps', 'O', 'I', 'U', 'a', 'e', 
'e', 'i',
+'u', 'a', 'b', 'g', 'd', 'e', 'z', 'e', 'th', 'i', 'k', 'l', 'm', 'n', 'x', 
'o',
+'p', 'r', 's', 's', 't', 'u', 'ph', 'kh', 'ps', 'o', 'i', 'u', 'o', 'u', 'o', 
'[?]',
+'b', 'th', 'U', 'U', 'U', 'ph', 'p', qq{&}, '[?]', '[?]', 'St', 'st', 'W', 
'w', 'Q', 'q',
+'Sp', 'sp', 'Sh', 'sh', 'F', 'f', 'Kh', 'kh', 'H', 'h', 'G', 'g', 'CH', 'ch', 
'Ti', 'ti',
+'k', 'r', 'c', 'j', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x04.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x04.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x04.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x04.pm       12 Oct 2011 
23:50:51 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x04] = [
+'Ie', 'Io', 'Dj', 'Gj', 'Ie', 'Dz', 'I', 'Yi', 'J', 'Lj', 'Nj', 'Tsh', 'Kj', 
'I', 'U', 'Dzh',
+'A', 'B', 'V', 'G', 'D', 'Ie', 'Zh', 'Z', 'I', 'I', 'K', 'L', 'M', 'N', 'O', 
'P',
+'R', 'S', 'T', 'U', 'F', 'Kh', 'Ts', 'Ch', 'Sh', 'Shch', "", 'Y', qq{'}, 'E', 
'Iu', 'Ia',
+'a', 'b', 'v', 'gh', 'd', 'ie', 'zh', 'z', 'i', 'i', 'k', 'l', 'm', 'n', 'o', 
'p',
+'r', 's', 't', 'u', 'f', 'kh', 'ts', 'ch', 'sh', 'shch', "", 'y', qq{'}, 'e', 
'iu', 'ia',
+'ie', 'io', 'dj', 'gj', 'ie', 'dz', 'i', 'yi', 'j', 'lj', 'nj', 'tsh', 'kj', 
'i', 'u', 'dzh',
+'O', 'o', 'E', 'e', 'Ie', 'ie', 'E', 'e', 'Ie', 'ie', 'O', 'o', 'Io', 'io', 
'Ks', 'ks',
+'Ps', 'ps', 'F', 'f', 'Y', 'y', 'Y', 'y', 'u', 'u', 'O', 'o', 'O', 'o', 'Ot', 
'ot',
+'Q', 'q', qq{*1000*}, "", "", "", "", '[?]', qq{*100.000*}, qq{*1.000.000*}, 
'[?]', '[?]', qq{"}, qq{"}, qq{R'}, qq{r'},
+qq{G'}, qq{g'}, qq{G'}, qq{g'}, qq{G'}, qq{g'}, qq{Zh'}, qq{zh'}, qq{Z'}, 
qq{z'}, qq{K'}, qq{k'}, qq{K'}, qq{k'}, qq{K'}, qq{k'},
+qq{K'}, qq{k'}, qq{N'}, qq{n'}, 'Ng', 'ng', qq{P'}, qq{p'}, 'Kh', 'kh', 
qq{S'}, qq{s'}, qq{T'}, qq{t'}, 'U', 'u',
+qq{U'}, qq{u'}, qq{Kh'}, qq{kh'}, 'Tts', 'tts', qq{Ch'}, qq{ch'}, qq{Ch'}, 
qq{ch'}, 'H', 'h', 'Ch', 'ch', qq{Ch'}, qq{ch'},
+qq{`}, 'Zh', 'zh', qq{K'}, qq{k'}, '[?]', '[?]', qq{N'}, qq{n'}, '[?]', '[?]', 
'Ch', 'ch', '[?]', '[?]', '[?]',
+'a', 'a', 'A', 'a', 'Ae', 'ae', 'Ie', 'ie', address@hidden, address@hidden, 
address@hidden, address@hidden, 'Zh', 'zh', 'Z', 'z',
+'Dz', 'dz', 'I', 'i', 'I', 'i', 'O', 'o', 'O', 'o', 'O', 'o', 'E', 'e', 'U', 
'u',
+'U', 'u', 'U', 'u', 'Ch', 'ch', '[?]', '[?]', 'Y', 'y', '[?]', '[?]', '[?]', 
'[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x05.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x05.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x05.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x05.pm       12 Oct 2011 
23:50:51 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x05] = [
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', 'A', 'B', 'G', 'D', 'E', 'Z', 'E', 'E', qq{T`}, 'Zh', 'I', 'L', 'Kh', 
'Ts', 'K',
+'H', 'Dz', 'Gh', 'Ch', 'M', 'Y', 'N', 'Sh', 'O', qq{Ch`}, 'P', 'J', 'Rh', 'S', 
'V', 'T',
+'R', qq{Ts`}, 'W', qq{P`}, qq{K`}, 'O', 'F', '[?]', '[?]', qq{<}, qq{'}, 
qq{/}, qq{!}, qq{,}, qq{?}, qq{.},
+'[?]', 'a', 'b', 'g', 'd', 'e', 'z', 'e', 'e', qq{t`}, 'zh', 'i', 'l', 'kh', 
'ts', 'k',
+'h', 'dz', 'gh', 'ch', 'm', 'y', 'n', 'sh', 'o', qq{ch`}, 'p', 'j', 'rh', 's', 
'v', 't',
+'r', qq{ts`}, 'w', qq{p`}, qq{k`}, 'o', 'f', 'ew', '[?]', qq{.}, qq{-}, '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", '[?]', "", "", "", "", "", "", "", "", "", "", "", "", "",
address@hidden, 'e', 'a', 'o', 'i', 'e', 'e', 'a', 'a', 'o', '[?]', 'u', qq{'}, 
"", "", "",
+"", "", "", qq{:}, "", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+"", 'b', 'g', 'd', 'h', 'v', 'z', 'kh', 't', 'y', 'k', 'k', 'l', 'm', 'm', 'n',
+'n', 's', qq{`}, 'p', 'p', 'ts', 'ts', 'q', 'r', 'sh', 't', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+'V', 'oy', 'i', qq{'}, qq{"}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x06.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x06.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x06.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x06.pm       12 Oct 2011 
23:50:51 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x06] = [
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', qq{,}, '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
qq{;}, '[?]', '[?]', '[?]', qq{?},
+'[?]', "", 'a', qq{'}, qq{w'}, "", qq{y'}, "", 'b', address@hidden, 't', 'th', 
'j', 'H', 'kh', 'd',
+'dh', 'r', 'z', 's', 'sh', 'S', 'D', 'T', 'Z', qq{`}, 'G', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+"", 'f', 'q', 'k', 'l', 'm', 'n', 'h', 'w', qq{~}, 'y', 'an', 'un', 'in', 'a', 
'u',
+'i', 'W', "", "", qq{'}, qq{'}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', qq{%}, qq{.}, qq{,}, qq{*}, 
'[?]', '[?]',
+"", qq{'}, qq{'}, qq{'}, "", qq{'}, qq{'w}, qq{'u}, qq{'y}, 'tt', 'tth', 'b', 
't', 'T', 'p', 'th',
+'bh', qq{'h}, 'H', 'ny', 'dy', 'H', 'ch', 'cch', 'dd', 'D', 'D', 'Dt', 'dh', 
'ddh', 'd', 'D',
+'D', 'rr', 'R', 'R', 'R', 'R', 'R', 'R', 'j', 'R', 'S', 'S', 'S', 'S', 'S', 
'T',
+'GH', 'F', 'F', 'F', 'v', 'f', 'ph', 'Q', 'Q', 'kh', 'k', 'K', 'K', 'ng', 'K', 
'g',
+'G', 'N', 'G', 'G', 'G', 'L', 'L', 'L', 'L', 'N', 'N', 'N', 'N', 'N', 'h', 
'Ch',
+'hy', 'h', 'H', address@hidden, 'W', 'oe', 'oe', 'u', 'yu', 'yu', 'W', 'v', 
'y', 'Y', 'Y', 'W',
+"", "", 'y', qq{y'}, qq{.}, 'ae', "", "", "", "", "", "", "", address@hidden, 
qq{#}, "",
+"", "", "", "", "", "", "", "", "", qq{^}, "", "", "", "", '[?]', '[?]',
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Sh', 'D', 'Gh', qq{&}, 
qq{+m},
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x07.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x07.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x07.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x07.pm       12 Oct 2011 
23:50:51 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x07] = [
+qq{//}, qq{/}, qq{,}, qq{!}, qq{!}, qq{-}, qq{,}, qq{,}, qq{;}, qq{?}, qq{~}, 
qq{\{}, qq{\}}, qq{*}, '[?]', "",
+qq{'}, "", 'b', 'g', 'g', 'd', 'd', 'h', 'w', 'z', 'H', 't', 't', 'y', 'yh', 
'k',
+'l', 'm', 'n', 's', 's', qq{`}, 'p', 'p', 'S', 'q', 'r', 'sh', 't', '[?]', 
'[?]', '[?]',
+'a', 'a', 'a', 'A', 'A', 'A', 'e', 'e', 'e', 'E', 'i', 'i', 'u', 'u', 'u', 'o',
+"", qq{`}, qq{'}, "", "", 'X', 'Q', address@hidden, address@hidden, qq{|}, 
qq{+}, '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'h', 'sh', 'n', 'r', 'b', 'L', 'k', qq{'}, 'v', 'm', 'f', 'dh', 'th', 'l', 
'g', 'ny',
+'s', 'd', 'z', 't', 'y', 'p', 'j', 'ch', 'tt', 'hh', 'kh', 'th', 'z', 'sh', 
's', 'd',
+'t', 'z', qq{`}, 'gh', 'q', 'w', 'a', 'aa', 'i', 'ee', 'u', 'oo', 'e', 'ey', 
'o', 'oa',
+"", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x09.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x09.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x09.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x09.pm       12 Oct 2011 
23:50:51 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x09] = [
+'[?]', 'N', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', 'eN', 
'e', 'e',
+'ai', 'oN', 'o', 'o', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 'jh', 
'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', 'nnn', 'p', 'ph', 'b', 
'bh', 'm', 'y',
+'r', 'rr', 'l', 'l', 'lll', 'v', 'sh', 'ss', 's', 'h', '[?]', '[?]', qq{'}, 
qq{'}, 'aa', 'i',
+'ii', 'u', 'uu', 'R', 'RR', 'eN', 'e', 'e', 'ai', 'oN', 'o', 'o', 'au', "", 
'[?]', '[?]',
+'AUM', qq{'}, qq{'}, qq{`}, qq{'}, '[?]', '[?]', '[?]', 'q', 'khh', 'ghh', 
'z', 'dddh', 'rh', 'f', 'yy',
+'RR', 'LL', 'L', 'LL', qq{ / }, qq{ // }, '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+qq{.}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', 'N', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'RR', 
'[?]', '[?]', 'e',
+'ai', '[?]', '[?]', 'o', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 
'jh', 'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', '[?]', 'p', 'ph', 'b', 
'bh', 'm', 'y',
+'r', '[?]', 'l', '[?]', '[?]', '[?]', 'sh', 'ss', 's', 'h', '[?]', '[?]', 
qq{'}, '[?]', 'aa', 'i',
+'ii', 'u', 'uu', 'R', 'RR', '[?]', '[?]', 'e', 'ai', '[?]', '[?]', 'o', 'au', 
"", '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', qq{+}, '[?]', '[?]', '[?]', 
'[?]', 'rr', 'rh', '[?]', 'yy',
+'RR', 'LL', 'L', 'LL', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', '7', 
'8', '9',
+qq{r'}, qq{r`}, 'Rs', 'Rs', qq{1/}, qq{2/}, qq{3/}, qq{4/}, qq{ 1 - 1/}, 
qq{/16}, "", '[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0a.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0a.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0a.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0a.pm       12 Oct 2011 
23:50:51 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x0a] = [
+'[?]', '[?]', 'N', '[?]', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', '[?]', 
'[?]', '[?]', '[?]', 'ee',
+'ai', '[?]', '[?]', 'oo', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 
'jh', 'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', '[?]', 'p', 'ph', 'b', 
'bb', 'm', 'y',
+'r', '[?]', 'l', 'll', '[?]', 'v', 'sh', '[?]', 's', 'h', '[?]', '[?]', qq{'}, 
'[?]', 'aa', 'i',
+'ii', 'u', 'uu', '[?]', '[?]', '[?]', '[?]', 'ee', 'ai', '[?]', '[?]', 'oo', 
'au', "", '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 'khh', 'ghh', 
'z', 'rr', '[?]', 'f', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+'N', 'H', "", "", qq{G.E.O.}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', 'N', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', '[?]', 
'eN', '[?]', 'e',
+'ai', 'oN', '[?]', 'o', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 
'jh', 'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', '[?]', 'p', 'ph', 'b', 
'bh', 'm', 'ya',
+'r', '[?]', 'l', 'll', '[?]', 'v', 'sh', 'ss', 's', 'h', '[?]', '[?]', qq{'}, 
qq{'}, 'aa', 'i',
+'ii', 'u', 'uu', 'R', 'RR', 'eN', '[?]', 'e', 'ai', 'oN', '[?]', 'o', 'au', 
"", '[?]', '[?]',
+'AUM', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'RR', '[?]', '[?]', '[?]', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0b.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0b.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0b.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0b.pm       12 Oct 2011 
23:50:51 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x0b] = [
+'[?]', 'N', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', '[?]', 
'[?]', 'e',
+'ai', '[?]', '[?]', 'o', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 
'jh', 'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', '[?]', 'p', 'ph', 'b', 
'bh', 'm', 'y',
+'r', '[?]', 'l', 'll', '[?]', "", 'sh', 'ss', 's', 'h', '[?]', '[?]', qq{'}, 
qq{'}, 'aa', 'i',
+'ii', 'u', 'uu', 'R', '[?]', '[?]', '[?]', 'e', 'ai', '[?]', '[?]', 'o', 'au', 
"", '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', qq{+}, qq{+}, '[?]', '[?]', '[?]', 
'[?]', 'rr', 'rh', '[?]', 'yy',
+'RR', 'LL', '[?]', '[?]', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+"", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', '[?]', '[?]', 
'[?]', 'e', 'ee',
+'ai', '[?]', 'o', 'oo', 'au', 'k', '[?]', '[?]', '[?]', 'ng', 'c', '[?]', 'j', 
'[?]', 'ny', 'tt',
+'[?]', '[?]', '[?]', 'nn', 't', '[?]', '[?]', '[?]', 'n', 'nnn', 'p', '[?]', 
'[?]', '[?]', 'm', 'y',
+'r', 'rr', 'l', 'll', 'lll', 'v', '[?]', 'ss', 's', 'h', '[?]', '[?]', '[?]', 
'[?]', 'aa', 'i',
+'ii', 'u', 'uu', '[?]', '[?]', '[?]', 'e', 'ee', 'ai', '[?]', 'o', 'oo', 'au', 
"", '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', qq{+}, '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+qq{+10+}, qq{+100+}, qq{+1000+}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0c.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0c.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0c.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0c.pm       12 Oct 2011 
23:50:52 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x0c] = [
+'[?]', 'N', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', '[?]', 
'e', 'ee',
+'ai', '[?]', 'o', 'oo', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 
'jh', 'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', '[?]', 'p', 'ph', 'b', 
'bh', 'm', 'y',
+'r', 'rr', 'l', 'll', '[?]', 'v', 'sh', 'ss', 's', 'h', '[?]', '[?]', '[?]', 
'[?]', 'aa', 'i',
+'ii', 'u', 'uu', 'R', 'RR', '[?]', 'e', 'ee', 'ai', '[?]', 'o', 'oo', 'au', 
"", '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', qq{+}, qq{+}, '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'RR', 'LL', '[?]', '[?]', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', 
'[?]', 'e', 'ee',
+'ai', '[?]', 'o', 'oo', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 
'jh', 'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', '[?]', 'p', 'ph', 'b', 
'bh', 'm', 'y',
+'r', 'rr', 'l', 'll', '[?]', 'v', 'sh', 'ss', 's', 'h', '[?]', '[?]', '[?]', 
'[?]', 'aa', 'i',
+'ii', 'u', 'uu', 'R', 'RR', '[?]', 'e', 'ee', 'ai', '[?]', 'o', 'oo', 'au', 
"", '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', qq{+}, qq{+}, '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', 'lll', '[?]',
+'RR', 'LL', '[?]', '[?]', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0d.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0d.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0d.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0d.pm       12 Oct 2011 
23:50:52 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x0d] = [
+'[?]', '[?]', 'N', 'H', '[?]', 'a', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'L', 
'[?]', 'e', 'ee',
+'ai', '[?]', 'o', 'oo', 'au', 'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 
'jh', 'ny', 'tt',
+'tth', 'dd', 'ddh', 'nn', 't', 'th', 'd', 'dh', 'n', '[?]', 'p', 'ph', 'b', 
'bh', 'm', 'y',
+'r', 'rr', 'l', 'll', 'lll', 'v', 'sh', 'ss', 's', 'h', '[?]', '[?]', '[?]', 
'[?]', 'aa', 'i',
+'ii', 'u', 'uu', 'R', '[?]', '[?]', 'e', 'ee', 'ai', "", 'o', 'oo', 'au', "", 
'[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', qq{+}, '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'RR', 'LL', '[?]', '[?]', '[?]', '[?]', '0', '1', '2', '3', '4', '5', '6', 
'7', '8', '9',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', 'N', 'H', '[?]', 'a', 'aa', 'ae', 'aae', 'i', 'ii', 'u', 'uu', 
'R', 'RR', 'L',
+'LL', 'e', 'ee', 'ai', 'o', 'oo', 'au', '[?]', '[?]', '[?]', 'k', 'kh', 'g', 
'gh', 'ng', 'nng',
+'c', 'ch', 'j', 'jh', 'ny', 'jny', 'nyj', 'tt', 'tth', 'dd', 'ddh', 'nn', 
'nndd', 't', 'th', 'd',
+'dh', 'n', '[?]', 'nd', 'p', 'ph', 'b', 'bh', 'm', 'mb', 'y', 'r', '[?]', 'l', 
'[?]', '[?]',
+'v', 'sh', 'ss', 's', 'h', 'll', 'f', '[?]', '[?]', '[?]', "", '[?]', '[?]', 
'[?]', '[?]', 'aa',
+'ae', 'aae', 'i', 'ii', 'u', '[?]', 'uu', '[?]', 'R', 'e', 'ee', 'ai', 'o', 
'oo', 'au', 'L',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', 'RR', 'LL', qq{ . }, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0e.pm       12 Oct 2011 
23:50:52 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x0e] = [
+'[?]', 'k', 'kh', 'kh', 'kh', 'kh', 'kh', 'ng', 'cch', 'ch', 'ch', 'ch', 'ch', 
'y', 'd', 't',
+'th', 'th', 'th', 'n', 'd', 't', 'th', 'th', 'th', 'n', 'b', 'p', 'ph', 'f', 
'ph', 'f',
+'ph', 'm', 'y', 'r', 'R', 'l', 'L', 'w', 's', 's', 's', 'h', 'l', qq{`}, 'h', 
qq{~},
+'a', 'a', 'aa', 'am', 'i', 'ii', 'ue', 'uue', 'u', 'uu', qq{'}, '[?]', '[?]', 
'[?]', '[?]', qq{Bh.},
+'e', 'ae', 'o', 'ai', 'ai', 'ao', qq{+}, "", "", "", "", "", "", 'M', "", qq{ 
* },
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', qq{ // }, qq{ /// }, '[?]', 
'[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', 'k', 'kh', '[?]', 'kh', '[?]', '[?]', 'ng', 'ch', '[?]', 's', '[?]', 
'[?]', 'ny', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', 'd', 'h', 'th', 'th', '[?]', 'n', 'b', 'p', 'ph', 
'f', 'ph', 'f',
+'[?]', 'm', 'y', 'r', '[?]', 'l', '[?]', 'w', '[?]', '[?]', 's', 'h', '[?]', 
qq{`}, "", qq{~},
+'a', "", 'aa', 'am', 'i', 'ii', 'y', 'yy', 'u', 'uu', '[?]', 'o', 'l', 'ny', 
'[?]', '[?]',
+'e', 'ei', 'o', 'ay', 'ai', '[?]', qq{+}, '[?]', "", "", "", "", "", 'M', 
'[?]', '[?]',
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '[?]', '[?]', 'hn', 'hm', 
'[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x0f.pm       12 Oct 2011 
23:50:52 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x0f] = [
+'AUM', "", "", "", "", "", "", "", qq{ // }, qq{ * }, "", qq{-}, qq{ / }, qq{ 
/ }, qq{ // }, qq{ -/ },
+qq{ +/ }, qq{ X/ }, qq{ /XX/ }, qq{ /X/ }, qq{, }, "", "", "", "", "", "", "", 
"", "", "", "",
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', qq{.5}, qq{1.5}, qq{2.5}, 
qq{3.5}, qq{4.5}, qq{5.5},
+qq{6.5}, qq{7.5}, qq{8.5}, qq{-.5}, qq{+}, qq{*}, qq{^}, qq{_}, "", qq{~}, 
'[?]', qq{]}, qq{[[}, qq{]]}, "", "",
+'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', '[?]', 'ny', 'tt', 'tth', 'dd', 
'ddh', 'nn', 't',
+'th', 'd', 'dh', 'n', 'p', 'ph', 'b', 'bh', 'm', 'ts', 'tsh', 'dz', 'dzh', 
'w', 'zh', 'z',
+qq{'}, 'y', 'r', 'l', 'sh', 'ssh', 's', 'h', 'a', 'kss', 'r', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+'[?]', 'aa', 'i', 'ii', 'u', 'uu', 'R', 'RR', 'L', 'LL', 'e', 'ee', 'o', 'oo', 
'M', 'H',
+'i', 'ii', "", "", "", "", "", "", "", "", "", "", '[?]', '[?]', '[?]', '[?]',
+'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', '[?]', 'ny', 'tt', 'tth', 'dd', 
'ddh', 'nn', 't',
+'th', 'd', 'dh', 'n', 'p', 'ph', 'b', 'bh', 'm', 'ts', 'tsh', 'dz', 'dzh', 
'w', 'zh', 'z',
+qq{'}, 'y', 'r', 'l', 'sh', 'ss', 's', 'h', 'a', 'kss', 'w', 'y', 'r', '[?]', 
'X', qq{ :X: },
+qq{ /O/ }, qq{ /o/ }, qq{ \\o\\ }, qq{ (O) }, "", "", "", "", "", "", "", "", 
"", '[?]', '[?]', "",
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x10.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x10.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x10.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x10.pm       12 Oct 2011 
23:50:52 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x10] = [
+'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 'jh', 'ny', 'nny', 'tt', 'tth', 
'dd', 'ddh', 'nn',
+'tt', 'th', 'd', 'dh', 'n', 'p', 'ph', 'b', 'bh', 'm', 'y', 'r', 'l', 'w', 
's', 'h',
+'ll', 'a', '[?]', 'i', 'ii', 'u', 'uu', 'e', '[?]', 'o', 'au', '[?]', 'aa', 
'i', 'ii', 'u',
+'uu', 'e', 'ai', '[?]', '[?]', '[?]', 'N', qq{'}, qq{:}, "", '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', qq{ / }, qq{ // }, qq{n*}, 
qq{r*}, qq{l*}, qq{e*},
+'sh', 'ss', 'R', 'RR', 'L', 'LL', 'R', 'RR', 'L', 'LL', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'A', 'B', 'G', 'D', 'E', 'V', 'Z', qq{T`}, 'I', 'K', 'L', 'M', 'N', 'O', 'P', 
'Zh',
+'R', 'S', 'T', 'U', qq{P`}, qq{K`}, qq{G'}, 'Q', 'Sh', qq{Ch`}, qq{C`}, 
qq{Z'}, 'C', 'Ch', 'X', 'J',
+'H', 'E', 'Y', 'W', 'Xh', 'OE', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'a', 'b', 'g', 'd', 'e', 'v', 'z', qq{t`}, 'i', 'k', 'l', 'm', 'n', 'o', 'p', 
'zh',
+'r', 's', 't', 'u', qq{p`}, qq{k`}, qq{g'}, 'q', 'sh', qq{ch`}, qq{c`}, 
qq{z'}, 'c', 'ch', 'x', 'j',
+'h', 'e', 'y', 'w', 'xh', 'oe', 'f', '[?]', '[?]', '[?]', '[?]', qq{ // }, 
'[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x11.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x11.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x11.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x11.pm       12 Oct 2011 
23:50:53 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:21 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x11] = [
+'g', 'gg', 'n', 'd', 'dd', 'r', 'm', 'b', 'bb', 's', 'ss', "", 'j', 'jj', 'c', 
'k',
+'t', 'p', 'h', 'ng', 'nn', 'nd', 'nb', 'dg', 'rn', 'rr', 'rh', 'rN', 'mb', 
'mN', 'bg', 'bn',
+"", 'bs', 'bsg', 'bst', 'bsb', 'bss', 'bsj', 'bj', 'bc', 'bt', 'bp', 'bN', 
'bbN', 'sg', 'sn', 'sd',
+'sr', 'sm', 'sb', 'sbg', 'sss', 's', 'sj', 'sc', 'sk', 'st', 'sp', 'sh', "", 
"", "", "",
+'Z', 'g', 'd', 'm', 'b', 's', 'Z', "", 'j', 'c', 't', 'p', 'N', 'j', "", "",
+"", "", 'ck', 'ch', "", "", 'pb', 'pN', 'hh', 'Q', '[?]', '[?]', '[?]', '[?]', 
'[?]', "",
+"", 'a', 'ae', 'ya', 'yae', 'eo', 'e', 'yeo', 'ye', 'o', 'wa', 'wae', 'oe', 
'yo', 'u', 'weo',
+'we', 'wi', 'yu', 'eu', 'yi', 'i', qq{a-o}, qq{a-u}, qq{ya-o}, qq{ya-yo}, 
qq{eo-o}, qq{eo-u}, qq{eo-eu}, qq{yeo-o}, qq{yeo-u}, qq{o-eo},
+qq{o-e}, qq{o-ye}, qq{o-o}, qq{o-u}, qq{yo-ya}, qq{yo-yae}, qq{yo-yeo}, 
qq{yo-o}, qq{yo-i}, qq{u-a}, qq{u-ae}, qq{u-eo-eu}, qq{u-ye}, qq{u-u}, 
qq{yu-a}, qq{yu-eo},
+qq{yu-e}, qq{yu-yeo}, qq{yu-ye}, qq{yu-u}, qq{yu-i}, qq{eu-u}, qq{eu-eu}, 
qq{yi-u}, qq{i-a}, qq{i-ya}, qq{i-o}, qq{i-u}, qq{i-eu}, qq{i-U}, 'U', qq{U-eo},
+qq{U-u}, qq{U-i}, 'UU', '[?]', '[?]', '[?]', '[?]', '[?]', 'g', 'gg', 'gs', 
'n', 'nj', 'nh', 'd', 'l',
+'lg', 'lm', 'lb', 'ls', 'lt', 'lp', 'lh', 'm', 'b', 'bs', 's', 'ss', 'ng', 
'j', 'c', 'k',
+'t', 'p', 'h', 'gl', 'gsg', 'ng', 'nd', 'ns', 'nZ', 'nt', 'dg', 'tl', 'lgs', 
'ln', 'ld', 'lth',
+'ll', 'lmg', 'lms', 'lbs', 'lbh', 'rNp', 'lss', 'lZ', 'lk', 'lQ', 'mg', 'ml', 
'mb', 'ms', 'mss', 'mZ',
+'mc', 'mh', 'mN', 'bl', 'bp', 'ph', 'pN', 'sg', 'sd', 'sl', 'sb', 'Z', 'g', 
'ss', "", 'kh',
+'N', 'Ns', 'NZ', 'pb', 'pN', 'hn', 'hl', 'hm', 'hb', 'Q', '[?]', '[?]', '[?]', 
'[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x12.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x12.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x12.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x12.pm       12 Oct 2011 
23:50:53 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x12] = [
+'ha', 'hu', 'hi', 'haa', 'hee', 'he', 'ho', '[?]', 'la', 'lu', 'li', 'laa', 
'lee', 'le', 'lo', 'lwa',
+'hha', 'hhu', 'hhi', 'hhaa', 'hhee', 'hhe', 'hho', 'hhwa', 'ma', 'mu', 'mi', 
'maa', 'mee', 'me', 'mo', 'mwa',
+'sza', 'szu', 'szi', 'szaa', 'szee', 'sze', 'szo', 'szwa', 'ra', 'ru', 'ri', 
'raa', 'ree', 're', 'ro', 'rwa',
+'sa', 'su', 'si', 'saa', 'see', 'se', 'so', 'swa', 'sha', 'shu', 'shi', 
'shaa', 'shee', 'she', 'sho', 'shwa',
+'qa', 'qu', 'qi', 'qaa', 'qee', 'qe', 'qo', '[?]', 'qwa', '[?]', 'qwi', 
'qwaa', 'qwee', 'qwe', '[?]', '[?]',
+'qha', 'qhu', 'qhi', 'qhaa', 'qhee', 'qhe', 'qho', '[?]', 'qhwa', '[?]', 
'qhwi', 'qhwaa', 'qhwee', 'qhwe', '[?]', '[?]',
+'ba', 'bu', 'bi', 'baa', 'bee', 'be', 'bo', 'bwa', 'va', 'vu', 'vi', 'vaa', 
'vee', 've', 'vo', 'vwa',
+'ta', 'tu', 'ti', 'taa', 'tee', 'te', 'to', 'twa', 'ca', 'cu', 'ci', 'caa', 
'cee', 'ce', 'co', 'cwa',
+'xa', 'xu', 'xi', 'xaa', 'xee', 'xe', 'xo', '[?]', 'xwa', '[?]', 'xwi', 
'xwaa', 'xwee', 'xwe', '[?]', '[?]',
+'na', 'nu', 'ni', 'naa', 'nee', 'ne', 'no', 'nwa', 'nya', 'nyu', 'nyi', 
'nyaa', 'nyee', 'nye', 'nyo', 'nywa',
+qq{'a}, qq{'u}, '[?]', qq{'aa}, qq{'ee}, qq{'e}, qq{'o}, qq{'wa}, 'ka', 'ku', 
'ki', 'kaa', 'kee', 'ke', 'ko', '[?]',
+'kwa', '[?]', 'kwi', 'kwaa', 'kwee', 'kwe', '[?]', '[?]', 'kxa', 'kxu', 'kxi', 
'kxaa', 'kxee', 'kxe', 'kxo', '[?]',
+'kxwa', '[?]', 'kxwi', 'kxwaa', 'kxwee', 'kxwe', '[?]', '[?]', 'wa', 'wu', 
'wi', 'waa', 'wee', 'we', 'wo', '[?]',
+qq{`a}, qq{`u}, qq{`i}, qq{`aa}, qq{`ee}, qq{`e}, qq{`o}, '[?]', 'za', 'zu', 
'zi', 'zaa', 'zee', 'ze', 'zo', 'zwa',
+'zha', 'zhu', 'zhi', 'zhaa', 'zhee', 'zhe', 'zho', 'zhwa', 'ya', 'yu', 'yi', 
'yaa', 'yee', 'ye', 'yo', '[?]',
+'da', 'du', 'di', 'daa', 'dee', 'de', 'do', 'dwa', 'dda', 'ddu', 'ddi', 
'ddaa', 'ddee', 'dde', 'ddo', 'ddwa',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x13.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x13.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x13.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x13.pm       12 Oct 2011 
23:50:53 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x13] = [
+'ja', 'ju', 'ji', 'jaa', 'jee', 'je', 'jo', 'jwa', 'ga', 'gu', 'gi', 'gaa', 
'gee', 'ge', 'go', '[?]',
+'gwa', '[?]', 'gwi', 'gwaa', 'gwee', 'gwe', '[?]', '[?]', 'gga', 'ggu', 'ggi', 
'ggaa', 'ggee', 'gge', 'ggo', '[?]',
+'tha', 'thu', 'thi', 'thaa', 'thee', 'the', 'tho', 'thwa', 'cha', 'chu', 
'chi', 'chaa', 'chee', 'che', 'cho', 'chwa',
+'pha', 'phu', 'phi', 'phaa', 'phee', 'phe', 'pho', 'phwa', 'tsa', 'tsu', 
'tsi', 'tsaa', 'tsee', 'tse', 'tso', 'tswa',
+'tza', 'tzu', 'tzi', 'tzaa', 'tzee', 'tze', 'tzo', '[?]', 'fa', 'fu', 'fi', 
'faa', 'fee', 'fe', 'fo', 'fwa',
+'pa', 'pu', 'pi', 'paa', 'pee', 'pe', 'po', 'pwa', 'rya', 'mya', 'fya', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', ' ', qq{.}, qq{,}, qq{;}, qq{:}, qq{:: }, qq{?}, qq{//}, '1', '2', '3', 
'4', '5', '6', '7',
+'8', '9', qq{10+}, qq{20+}, qq{30+}, qq{40+}, qq{50+}, qq{60+}, qq{70+}, 
qq{80+}, qq{90+}, qq{100+}, qq{10,000+}, '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'a', 'e', 'i', 'o', 'u', 'v', 'ga', 'ka', 'ge', 'gi', 'go', 'gu', 'gv', 'ha', 
'he', 'hi',
+'ho', 'hu', 'hv', 'la', 'le', 'li', 'lo', 'lu', 'lv', 'ma', 'me', 'mi', 'mo', 
'mu', 'na', 'hna',
+'nah', 'ne', 'ni', 'no', 'nu', 'nv', 'qua', 'que', 'qui', 'quo', 'quu', 'quv', 
'sa', 's', 'se', 'si',
+'so', 'su', 'sv', 'da', 'ta', 'de', 'te', 'di', 'ti', 'do', 'du', 'dv', 'dla', 
'tla', 'tle', 'tli',
+'tlo', 'tlu', 'tlv', 'tsa', 'tse', 'tsi', 'tso', 'tsu', 'tsv', 'wa', 'we', 
'wi', 'wo', 'wu', 'wv', 'ya',
+'ye', 'yi', 'yo', 'yu', 'yv', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x14.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x14.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x14.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x14.pm       12 Oct 2011 
23:50:53 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x14] = [
+'[?]', 'e', 'aai', 'i', 'ii', 'o', 'oo', 'oo', 'ee', 'i', 'a', 'aa', 'we', 
'we', 'wi', 'wi',
+'wii', 'wii', 'wo', 'wo', 'woo', 'woo', 'woo', 'wa', 'wa', 'waa', 'waa', 
'waa', 'ai', 'w', qq{'}, 't',
+'k', 'sh', 's', 'n', 'w', 'n', qq{[?]}, 'w', 'c', qq{?}, 'l', 'en', 'in', 
'on', 'an', 'pe',
+'paai', 'pi', 'pii', 'po', 'poo', 'poo', 'hee', 'hi', 'pa', 'paa', 'pwe', 
'pwe', 'pwi', 'pwi', 'pwii', 'pwii',
+'pwo', 'pwo', 'pwoo', 'pwoo', 'pwa', 'pwa', 'pwaa', 'pwaa', 'pwaa', 'p', 'p', 
'h', 'te', 'taai', 'ti', 'tii',
+'to', 'too', 'too', 'dee', 'di', 'ta', 'taa', 'twe', 'twe', 'twi', 'twi', 
'twii', 'twii', 'two', 'two', 'twoo',
+'twoo', 'twa', 'twa', 'twaa', 'twaa', 'twaa', 't', 'tte', 'tti', 'tto', 'tta', 
'ke', 'kaai', 'ki', 'kii', 'ko',
+'koo', 'koo', 'ka', 'kaa', 'kwe', 'kwe', 'kwi', 'kwi', 'kwii', 'kwii', 'kwo', 
'kwo', 'kwoo', 'kwoo', 'kwa', 'kwa',
+'kwaa', 'kwaa', 'kwaa', 'k', 'kw', 'keh', 'kih', 'koh', 'kah', 'ce', 'caai', 
'ci', 'cii', 'co', 'coo', 'coo',
+'ca', 'caa', 'cwe', 'cwe', 'cwi', 'cwi', 'cwii', 'cwii', 'cwo', 'cwo', 'cwoo', 
'cwoo', 'cwa', 'cwa', 'cwaa', 'cwaa',
+'cwaa', 'c', 'th', 'me', 'maai', 'mi', 'mii', 'mo', 'moo', 'moo', 'ma', 'maa', 
'mwe', 'mwe', 'mwi', 'mwi',
+'mwii', 'mwii', 'mwo', 'mwo', 'mwoo', 'mwoo', 'mwa', 'mwa', 'mwaa', 'mwaa', 
'mwaa', 'm', 'm', 'mh', 'm', 'm',
+'ne', 'naai', 'ni', 'nii', 'no', 'noo', 'noo', 'na', 'naa', 'nwe', 'nwe', 
'nwa', 'nwa', 'nwaa', 'nwaa', 'nwaa',
+'n', 'ng', 'nh', 'le', 'laai', 'li', 'lii', 'lo', 'loo', 'loo', 'la', 'laa', 
'lwe', 'lwe', 'lwi', 'lwi',
+'lwii', 'lwii', 'lwo', 'lwo', 'lwoo', 'lwoo', 'lwa', 'lwa', 'lwaa', 'lwaa', 
'l', 'l', 'l', 'se', 'saai', 'si',
+'sii', 'so', 'soo', 'soo', 'sa', 'saa', 'swe', 'swe', 'swi', 'swi', 'swii', 
'swii', 'swo', 'swo', 'swoo', 'swoo',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x15.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x15.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x15.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x15.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x15] = [
+'swa', 'swa', 'swaa', 'swaa', 'swaa', 's', 's', 'sw', 's', 'sk', 'skw', 'sW', 
'spwa', 'stwa', 'skwa', 'scwa',
+'she', 'shi', 'shii', 'sho', 'shoo', 'sha', 'shaa', 'shwe', 'shwe', 'shwi', 
'shwi', 'shwii', 'shwii', 'shwo', 'shwo', 'shwoo',
+'shwoo', 'shwa', 'shwa', 'shwaa', 'shwaa', 'sh', 'ye', 'yaai', 'yi', 'yii', 
'yo', 'yoo', 'yoo', 'ya', 'yaa', 'ywe',
+'ywe', 'ywi', 'ywi', 'ywii', 'ywii', 'ywo', 'ywo', 'ywoo', 'ywoo', 'ywa', 
'ywa', 'ywaa', 'ywaa', 'ywaa', 'y', 'y',
+'y', 'yi', 're', 're', 'le', 'raai', 'ri', 'rii', 'ro', 'roo', 'lo', 'ra', 
'raa', 'la', 'rwaa', 'rwaa',
+'r', 'r', 'r', 'fe', 'faai', 'fi', 'fii', 'fo', 'foo', 'fa', 'faa', 'fwaa', 
'fwaa', 'f', 'the', 'the',
+'thi', 'thi', 'thii', 'thii', 'tho', 'thoo', 'tha', 'thaa', 'thwaa', 'thwaa', 
'th', 'tthe', 'tthi', 'ttho', 'ttha', 'tth',
+'tye', 'tyi', 'tyo', 'tya', 'he', 'hi', 'hii', 'ho', 'hoo', 'ha', 'haa', 'h', 
'h', 'hk', 'qaai', 'qi',
+'qii', 'qo', 'qoo', 'qa', 'qaa', 'q', 'tlhe', 'tlhi', 'tlho', 'tlha', 're', 
'ri', 'ro', 'ra', 'ngaai', 'ngi',
+'ngii', 'ngo', 'ngoo', 'nga', 'ngaa', 'ng', 'nng', 'she', 'shi', 'sho', 'sha', 
'the', 'thi', 'tho', 'tha', 'th',
+'lhi', 'lhii', 'lho', 'lhoo', 'lha', 'lhaa', 'lh', 'the', 'thi', 'thii', 
'tho', 'thoo', 'tha', 'thaa', 'th', 'b',
+'e', 'i', 'o', 'a', 'we', 'wi', 'wo', 'wa', 'ne', 'ni', 'no', 'na', 'ke', 
'ki', 'ko', 'ka',
+'he', 'hi', 'ho', 'ha', 'ghu', 'gho', 'ghe', 'ghee', 'ghi', 'gha', 'ru', 'ro', 
're', 'ree', 'ri', 'ra',
+'wu', 'wo', 'we', 'wee', 'wi', 'wa', 'hwu', 'hwo', 'hwe', 'hwee', 'hwi', 
'hwa', 'thu', 'tho', 'the', 'thee',
+'thi', 'tha', 'ttu', 'tto', 'tte', 'ttee', 'tti', 'tta', 'pu', 'po', 'pe', 
'pee', 'pi', 'pa', 'p', 'gu',
+'go', 'ge', 'gee', 'gi', 'ga', 'khu', 'kho', 'khe', 'khee', 'khi', 'kha', 
'kku', 'kko', 'kke', 'kkee', 'kki',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x16.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x16.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x16.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x16.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x16] = [
+'kka', 'kk', 'nu', 'no', 'ne', 'nee', 'ni', 'na', 'mu', 'mo', 'me', 'mee', 
'mi', 'ma', 'yu', 'yo',
+'ye', 'yee', 'yi', 'ya', 'ju', 'ju', 'jo', 'je', 'jee', 'ji', 'ji', 'ja', 
'jju', 'jjo', 'jje', 'jjee',
+'jji', 'jja', 'lu', 'lo', 'le', 'lee', 'li', 'la', 'dlu', 'dlo', 'dle', 
'dlee', 'dli', 'dla', 'lhu', 'lho',
+'lhe', 'lhee', 'lhi', 'lha', 'tlhu', 'tlho', 'tlhe', 'tlhee', 'tlhi', 'tlha', 
'tlu', 'tlo', 'tle', 'tlee', 'tli', 'tla',
+'zu', 'zo', 'ze', 'zee', 'zi', 'za', 'z', 'z', 'dzu', 'dzo', 'dze', 'dzee', 
'dzi', 'dza', 'su', 'so',
+'se', 'see', 'si', 'sa', 'shu', 'sho', 'she', 'shee', 'shi', 'sha', 'sh', 
'tsu', 'tso', 'tse', 'tsee', 'tsi',
+'tsa', 'chu', 'cho', 'che', 'chee', 'chi', 'cha', 'ttsu', 'ttso', 'ttse', 
'ttsee', 'ttsi', 'ttsa', 'X', qq{.}, 'qai',
+'ngai', 'nngi', 'nngii', 'nngo', 'nngoo', 'nnga', 'nngaa', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+' ', 'b', 'l', 'f', 's', 'n', 'h', 'd', 't', 'c', 'q', 'm', 'g', 'ng', 'z', 
'r',
+'a', 'o', 'u', 'e', 'i', 'ch', 'th', 'ph', 'p', 'x', 'p', qq{<}, qq{>}, '[?]', 
'[?]', '[?]',
+'f', 'v', 'u', 'yr', 'y', 'w', 'th', 'th', 'a', 'o', 'ac', 'ae', 'o', 'o', 
'o', 'oe',
+'on', 'r', 'k', 'c', 'k', 'g', 'ng', 'g', 'g', 'w', 'h', 'h', 'h', 'h', 'n', 
'n',
+'n', 'i', 'e', 'j', 'g', 'ae', 'a', 'eo', 'p', 'z', 's', 's', 's', 'c', 'z', 
't',
+'t', 'd', 'b', 'b', 'p', 'p', 'e', 'm', 'm', 'm', 'l', 'l', 'ng', 'ng', 'd', 
'o',
+'ear', 'ior', 'qu', 'qu', 'qu', 's', 'yr', 'yr', 'yr', 'q', 'x', qq{.}, qq{:}, 
qq{+}, '17', '18',
+'19', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x17.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x17.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x17.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x17.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x17] = [
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'k', 'kh', 'g', 'gh', 'ng', 'c', 'ch', 'j', 'jh', 'ny', 't', 'tth', 'd', 
'ddh', 'nn', 't',
+'th', 'd', 'dh', 'n', 'p', 'ph', 'b', 'bh', 'm', 'y', 'r', 'l', 'v', 'sh', 
'ss', 's',
+'h', 'l', 'q', 'a', 'aa', 'i', 'ii', 'u', 'uk', 'uu', 'uuv', 'ry', 'ryy', 
'ly', 'lyy', 'e',
+'ai', 'oo', 'oo', 'au', 'a', 'aa', 'aa', 'i', 'ii', 'y', 'yy', 'u', 'uu', 
'ua', 'oe', 'ya',
+'ie', 'e', 'ae', 'ai', 'oo', 'au', 'M', 'H', qq{a`}, "", "", "", 'r', "", 
qq{!}, "",
+"", "", "", "", qq{.}, qq{ // }, qq{:}, qq{+}, qq{++}, qq{ * }, qq{ /// }, 
'KR', qq{'}, '[?]', '[?]', '[?]',
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x18.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x18.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x18.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x18.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x18] = [
+qq{ \@ }, qq{ ... }, qq{, }, qq{. }, qq{: }, qq{ // }, "", qq{-}, qq{, }, qq{. 
}, "", "", "", "", "", '[?]',
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]',
+'a', 'e', 'i', 'o', 'u', 'O', 'U', 'ee', 'n', 'ng', 'b', 'p', 'q', 'g', 'm', 
'l',
+'s', 'sh', 't', 'd', 'ch', 'j', 'y', 'r', 'w', 'f', 'k', 'kha', 'ts', 'z', 
'h', 'zr',
+'lh', 'zh', 'ch', qq{-}, 'e', 'i', 'o', 'u', 'O', 'U', 'ng', 'b', 'p', 'q', 
'g', 'm',
+'t', 'd', 'ch', 'j', 'ts', 'y', 'w', 'k', 'g', 'h', 'jy', 'ny', 'dz', 'e', 
'i', 'iy',
+'U', 'u', 'ng', 'k', 'g', 'h', 'p', 'sh', 't', 'd', 'j', 'f', 'g', 'h', 'ts', 
'z',
+'r', 'ch', 'zh', 'i', 'k', 'r', 'f', 'zh', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+'[?]', 'H', 'X', 'W', 'M', ' 3 ', ' 333 ', 'a', 'i', 'k', 'ng', 'c', 'tt', 
'tth', 'dd', 'nn',
+'t', 'd', 'p', 'ph', 'ss', 'zh', 'z', 'a', 't', 'zh', 'gh', 'ng', 'c', 'jh', 
'tta', 'ddh',
+'t', 'dh', 'ss', 'cy', 'zh', 'z', 'u', 'y', 'bh', qq{'}, '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1e.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x1e] = [
+'A', 'a', 'B', 'b', 'B', 'b', 'B', 'b', 'C', 'c', 'D', 'd', 'D', 'd', 'D', 'd',
+'D', 'd', 'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'F', 'f',
+'G', 'g', 'H', 'h', 'H', 'h', 'H', 'h', 'H', 'h', 'H', 'h', 'I', 'i', 'I', 'i',
+'K', 'k', 'K', 'k', 'K', 'k', 'L', 'l', 'L', 'l', 'L', 'l', 'L', 'l', 'M', 'm',
+'M', 'm', 'M', 'm', 'N', 'n', 'N', 'n', 'N', 'n', 'N', 'n', 'O', 'o', 'O', 'o',
+'O', 'o', 'O', 'o', 'P', 'p', 'P', 'p', 'R', 'r', 'R', 'r', 'R', 'r', 'R', 'r',
+'S', 's', 'S', 's', 'S', 's', 'S', 's', 'S', 's', 'T', 't', 'T', 't', 'T', 't',
+'T', 't', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'V', 'v', 'V', 'v',
+'W', 'w', 'W', 'w', 'W', 'w', 'W', 'w', 'W', 'w', 'X', 'x', 'X', 'x', 'Y', 'y',
+'Z', 'z', 'Z', 'z', 'Z', 'z', 'h', 't', 'w', 'y', 'a', 'S', '[?]', '[?]', 
'[?]', '[?]',
+'A', 'a', 'A', 'a', 'A', 'a', 'A', 'a', 'A', 'a', 'A', 'a', 'A', 'a', 'A', 'a',
+'A', 'a', 'A', 'a', 'A', 'a', 'A', 'a', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e',
+'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'I', 'i', 'I', 'i', 'O', 'o', 'O', 'o',
+'O', 'o', 'O', 'o', 'O', 'o', 'O', 'o', 'O', 'o', 'O', 'o', 'O', 'o', 'O', 'o',
+'O', 'o', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u',
+'U', 'u', 'Y', 'y', 'Y', 'y', 'Y', 'y', 'Y', 'y', '[?]', '[?]', '[?]', '[?]', 
'[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x1f.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x1f] = [
+'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
+'e', 'e', 'e', 'e', 'e', 'e', '[?]', '[?]', 'E', 'E', 'E', 'E', 'E', 'E', 
'[?]', '[?]',
+'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E',
+'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I',
+'o', 'o', 'o', 'o', 'o', 'o', '[?]', '[?]', 'O', 'O', 'O', 'O', 'O', 'O', 
'[?]', '[?]',
+'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', '[?]', 'U', '[?]', 'U', '[?]', 'U', 
'[?]', 'U',
+'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O',
+'a', 'a', 'e', 'e', 'e', 'e', 'i', 'i', 'o', 'o', 'u', 'u', 'o', 'o', '[?]', 
'[?]',
+'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
+'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E',
+'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O',
+'a', 'a', 'a', 'a', 'a', '[?]', 'a', 'a', 'A', 'A', 'A', 'A', 'A', qq{'}, 'i', 
qq{'},
+qq{~}, qq{"~}, 'e', 'e', 'e', '[?]', 'e', 'e', 'E', 'E', 'E', 'E', 'E', 
qq{'`}, qq{''}, qq{'~},
+'i', 'i', 'i', 'i', '[?]', '[?]', 'i', 'i', 'I', 'I', 'I', 'I', '[?]', qq{`'}, 
qq{`'}, qq{`~},
+'u', 'u', 'u', 'u', 'R', 'R', 'u', 'u', 'U', 'U', 'U', 'U', 'R', qq{"`}, 
qq{"'}, qq{`},
+'[?]', '[?]', 'o', 'o', 'o', '[?]', 'o', 'o', 'O', 'O', 'O', 'O', 'O', qq{'}, 
qq{`},
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x20.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x20.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x20.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x20.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x20] = [
+' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', "", "", "", "",
+qq{-}, qq{-}, qq{-}, qq{-}, qq{--}, qq{--}, qq{||}, qq{_}, qq{'}, qq{'}, 
qq{,}, qq{'}, qq{"}, qq{"}, qq{,,}, qq{"},
+qq{+}, qq{++}, qq{*}, qq{*>}, qq{.}, qq{..}, qq{...}, qq{.}, qq{\n}, qq{\n\n}, 
"", "", "", "", "", ' ',
+qq{%0}, qq{%00}, qq{'}, qq{''}, qq{'''}, qq{`}, qq{``}, qq{```}, qq{^}, qq{<}, 
qq{>}, qq{*}, qq{!!}, qq{!?}, qq{-}, qq{_},
+qq{-}, qq{^}, qq{***}, qq{--}, qq{/}, qq{-[}, qq{]-}, '[?]', qq{?!}, qq{!?}, 
'7', 'PP', qq{(]}, qq{[)}, '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', "", "", 
"", "", "", "",
+'0', "", "", "", '4', '5', '6', '7', '8', '9', qq{+}, qq{-}, qq{=}, qq{(}, 
qq{)}, 'n',
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', qq{+}, qq{-}, qq{=}, qq{(}, 
qq{)}, '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'ECU', 'CL', 'Cr', 'FF', 'L', 'mil', 'N', 'Pts', 'Rs', 'W', 'NS', 'D', 'EU', 
'K', 'T', 'Dr',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x21.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x21.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x21.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x21.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x21] = [
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', qq{ 1/3 }, qq{ 2/3 }, qq{ 1/5 }, qq{ 2/5 }, qq{ 3/5 }, 
qq{ 4/5 }, qq{ 1/6 }, qq{ 5/6 }, qq{ 1/8 }, qq{ 3/8 }, qq{ 5/8 }, qq{ 7/8 }, 
qq{ 1/},
+'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'L', 
'C', 'D', 'M',
+'i', 'ii', 'iii', 'iv', 'v', 'vi', 'vii', 'viii', 'ix', 'x', 'xi', 'xii', 'l', 
'c', 'd', 'm',
+qq{(D}, qq{D)}, qq{((|))}, qq{)}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+qq{-}, qq{|}, qq{-}, qq{|}, qq{-}, qq{|}, qq{\\}, qq{/}, qq{\\}, qq{/}, qq{-}, 
qq{-}, qq{~}, qq{~}, qq{-}, qq{|},
+qq{-}, qq{|}, qq{-}, qq{-}, qq{-}, qq{|}, qq{-}, qq{|}, qq{|}, qq{-}, qq{-}, 
qq{-}, qq{-}, qq{-}, qq{-}, qq{|},
+qq{|}, qq{|}, qq{|}, qq{|}, qq{|}, qq{|}, qq{^}, 'V', qq{\\}, qq{=}, 'V', 
qq{^}, qq{-}, qq{-}, qq{|}, qq{|},
+qq{-}, qq{-}, qq{|}, qq{|}, qq{=}, qq{|}, qq{=}, qq{=}, qq{|}, qq{=}, qq{|}, 
qq{=}, qq{=}, qq{=}, qq{=}, qq{=},
+qq{=}, qq{|}, qq{=}, qq{|}, qq{=}, qq{|}, qq{\\}, qq{/}, qq{\\}, qq{/}, qq{=}, 
qq{=}, qq{~}, qq{~}, qq{|}, qq{|},
+qq{-}, qq{|}, qq{-}, qq{|}, qq{-}, qq{-}, qq{-}, qq{|}, qq{-}, qq{|}, qq{|}, 
qq{|}, qq{|}, qq{|}, qq{|}, qq{|},
+qq{-}, qq{\\}, qq{\\}, qq{|}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x22.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x22.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x22.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x22.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:22 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x22] = [
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x23.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x23.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x23.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x23.pm       12 Oct 2011 
23:50:54 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:23 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x23] = [
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, '[?]', qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]},
+qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, qq{[?]}, 
qq{[?]}, qq{[?]}, qq{[?]}, '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x24.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x24.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x24.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x24.pm       12 Oct 2011 
23:50:55 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:23 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x24] = [
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+"", "", "", "", "", "", "", "", "", "", "", '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x25.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x25.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x25.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x25.pm       12 Oct 2011 
23:50:55 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:23 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x25] = [
+qq{-}, qq{-}, qq{|}, qq{|}, qq{-}, qq{-}, qq{|}, qq{|}, qq{-}, qq{-}, qq{|}, 
qq{|}, qq{+}, qq{+}, qq{+}, qq{+},
+qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, 
qq{+}, qq{+}, qq{+}, qq{+}, qq{+},
+qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, 
qq{+}, qq{+}, qq{+}, qq{+}, qq{+},
+qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, 
qq{+}, qq{+}, qq{+}, qq{+}, qq{+},
+qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, 
qq{+}, qq{-}, qq{-}, qq{|}, qq{|},
+qq{-}, qq{|}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, 
qq{+}, qq{+}, qq{+}, qq{+}, qq{+},
+qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, qq{+}, 
qq{+}, qq{+}, qq{+}, qq{+}, qq{+},
+qq{+}, qq{/}, qq{\\}, 'X', qq{-}, qq{|}, qq{-}, qq{|}, qq{-}, qq{|}, qq{-}, 
qq{|}, qq{-}, qq{|}, qq{-}, qq{|},
+qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, 
qq{#}, qq{#}, qq{#}, qq{#}, qq{#},
+qq{#}, qq{#}, qq{#}, qq{#}, qq{-}, qq{|}, '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, 
qq{#}, qq{#}, qq{#}, qq{#}, qq{#},
+qq{#}, qq{#}, qq{^}, qq{^}, qq{^}, qq{^}, qq{>}, qq{>}, qq{>}, qq{>}, qq{>}, 
qq{>}, 'V', 'V', 'V', 'V',
+qq{<}, qq{<}, qq{<}, qq{<}, qq{<}, qq{<}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, 
qq{*}, qq{*}, qq{*}, qq{*}, qq{*},
+qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, 
qq{*}, qq{*}, qq{*}, qq{*}, qq{*},
+qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{*}, qq{#}, qq{#}, qq{#}, qq{#}, 
qq{#}, qq{^}, qq{^}, qq{^}, 'O',
+qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, qq{#}, '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x26.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x26.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x26.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x26.pm       12 Oct 2011 
23:50:55 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:23 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x26] = [
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", '[?]', '[?]', '[?]', '[?]', '[?]', "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x27.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x27.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x27.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x27.pm       12 Oct 2011 
23:50:55 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:23 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x27] = [
+'[?]', "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", '[?]',
+'[?]', "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+'[?]', "", "", "", "", "", "", "", "", "", "", "", "", "", "", '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x28.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x28.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x28.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x28.pm       12 Oct 2011 
23:50:55 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:23 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x28] = [
+' ', 'a', '1', 'b', qq{'}, 'k', '2', 'l', address@hidden, 'c', 'i', 'f', 
qq{/}, 'm', 's', 'p',
+qq{"}, 'e', '3', 'h', '9', 'o', '6', 'r', qq{^}, 'd', 'j', 'g', qq{>}, 'n', 
't', 'q',
+qq{,}, qq{*}, '5', qq{<}, qq{-}, 'u', '8', 'v', qq{.}, qq{%}, qq{[}, qq{\$}, 
qq{+}, 'x', qq{!}, qq{&},
+qq{;}, qq{:}, '4', qq{\\}, '0', 'z', '7', qq{(}, qq{_}, qq{?}, 'w', qq{]}, 
qq{#}, 'y', qq{)}, qq{=},
+qq{[d7]}, qq{[d17]}, qq{[d27]}, qq{[d127]}, qq{[d37]}, qq{[d137]}, qq{[d237]}, 
qq{[d1237]}, qq{[d47]}, qq{[d147]}, qq{[d247]}, qq{[d1247]}, qq{[d347]}, 
qq{[d1347]}, qq{[d2347]}, qq{[d12347]},
+qq{[d57]}, qq{[d157]}, qq{[d257]}, qq{[d1257]}, qq{[d357]}, qq{[d1357]}, 
qq{[d2357]}, qq{[d12357]}, qq{[d457]}, qq{[d1457]}, qq{[d2457]}, qq{[d12457]}, 
qq{[d3457]}, qq{[d13457]}, qq{[d23457]}, qq{[d123457]},
+qq{[d67]}, qq{[d167]}, qq{[d267]}, qq{[d1267]}, qq{[d367]}, qq{[d1367]}, 
qq{[d2367]}, qq{[d12367]}, qq{[d467]}, qq{[d1467]}, qq{[d2467]}, qq{[d12467]}, 
qq{[d3467]}, qq{[d13467]}, qq{[d23467]}, qq{[d123467]},
+qq{[d567]}, qq{[d1567]}, qq{[d2567]}, qq{[d12567]}, qq{[d3567]}, qq{[d13567]}, 
qq{[d23567]}, qq{[d123567]}, qq{[d4567]}, qq{[d14567]}, qq{[d24567]}, 
qq{[d124567]}, qq{[d34567]}, qq{[d134567]}, qq{[d234567]}, qq{[d1234567]},
+qq{[d8]}, qq{[d18]}, qq{[d28]}, qq{[d128]}, qq{[d38]}, qq{[d138]}, qq{[d238]}, 
qq{[d1238]}, qq{[d48]}, qq{[d148]}, qq{[d248]}, qq{[d1248]}, qq{[d348]}, 
qq{[d1348]}, qq{[d2348]}, qq{[d12348]},
+qq{[d58]}, qq{[d158]}, qq{[d258]}, qq{[d1258]}, qq{[d358]}, qq{[d1358]}, 
qq{[d2358]}, qq{[d12358]}, qq{[d458]}, qq{[d1458]}, qq{[d2458]}, qq{[d12458]}, 
qq{[d3458]}, qq{[d13458]}, qq{[d23458]}, qq{[d123458]},
+qq{[d68]}, qq{[d168]}, qq{[d268]}, qq{[d1268]}, qq{[d368]}, qq{[d1368]}, 
qq{[d2368]}, qq{[d12368]}, qq{[d468]}, qq{[d1468]}, qq{[d2468]}, qq{[d12468]}, 
qq{[d3468]}, qq{[d13468]}, qq{[d23468]}, qq{[d123468]},
+qq{[d568]}, qq{[d1568]}, qq{[d2568]}, qq{[d12568]}, qq{[d3568]}, qq{[d13568]}, 
qq{[d23568]}, qq{[d123568]}, qq{[d4568]}, qq{[d14568]}, qq{[d24568]}, 
qq{[d124568]}, qq{[d34568]}, qq{[d134568]}, qq{[d234568]}, qq{[d1234568]},
+qq{[d78]}, qq{[d178]}, qq{[d278]}, qq{[d1278]}, qq{[d378]}, qq{[d1378]}, 
qq{[d2378]}, qq{[d12378]}, qq{[d478]}, qq{[d1478]}, qq{[d2478]}, qq{[d12478]}, 
qq{[d3478]}, qq{[d13478]}, qq{[d23478]}, qq{[d123478]},
+qq{[d578]}, qq{[d1578]}, qq{[d2578]}, qq{[d12578]}, qq{[d3578]}, qq{[d13578]}, 
qq{[d23578]}, qq{[d123578]}, qq{[d4578]}, qq{[d14578]}, qq{[d24578]}, 
qq{[d124578]}, qq{[d34578]}, qq{[d134578]}, qq{[d234578]}, qq{[d1234578]},
+qq{[d678]}, qq{[d1678]}, qq{[d2678]}, qq{[d12678]}, qq{[d3678]}, qq{[d13678]}, 
qq{[d23678]}, qq{[d123678]}, qq{[d4678]}, qq{[d14678]}, qq{[d24678]}, 
qq{[d124678]}, qq{[d34678]}, qq{[d134678]}, qq{[d234678]}, qq{[d1234678]},
+qq{[d5678]}, qq{[d15678]}, qq{[d25678]}, qq{[d125678]}, qq{[d35678]}, 
qq{[d135678]}, qq{[d235678]}, qq{[d1235678]}, qq{[d45678]}, qq{[d145678]}, 
qq{[d245678]}, qq{[d1245678]}, qq{[d345678]}, qq{[d1345678]}, qq{[d2345678]}, 
qq{[d12345678]},
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2e.pm       12 Oct 2011 
23:50:55 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:23 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x2e] = [
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, '[?]', qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] },
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x2f.pm       12 Oct 2011 
23:50:55 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:24 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x2f] = [
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x30.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x30.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x30.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x30.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:24 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x30] = [
+' ', qq{, }, qq{. }, qq{"}, qq{[JIS]}, qq{"}, qq{/}, '0', qq{<}, qq{> }, 
qq{<<}, qq{>> }, qq{[}, qq{] }, qq{\{}, qq{\} },
+qq{[(}, qq{)] }, address@hidden, 'X ', qq{[}, qq{] }, qq{[[}, qq{]] }, qq{((}, 
qq{)) }, qq{[[}, qq{]] }, qq{~ }, qq{``}, qq{''}, qq{,,},
address@hidden, '1', '2', '3', '4', '5', '6', '7', '8', '9', "", "", "", "", 
"", "",
+qq{~}, qq{+}, qq{+}, qq{+}, qq{+}, "", address@hidden, qq{ // }, qq{+10+}, 
qq{+20+}, qq{+30+}, '[?]', '[?]', '[?]', "", "",
+'[?]', 'a', 'a', 'i', 'i', 'u', 'u', 'e', 'e', 'o', 'o', 'ka', 'ga', 'ki', 
'gi', 'ku',
+'gu', 'ke', 'ge', 'ko', 'go', 'sa', 'za', 'si', 'zi', 'su', 'zu', 'se', 'ze', 
'so', 'zo', 'ta',
+'da', 'ti', 'di', 'tu', 'tu', 'du', 'te', 'de', 'to', 'do', 'na', 'ni', 'nu', 
'ne', 'no', 'ha',
+'ba', 'pa', 'hi', 'bi', 'pi', 'hu', 'bu', 'pu', 'he', 'be', 'pe', 'ho', 'bo', 
'po', 'ma', 'mi',
+'mu', 'me', 'mo', 'ya', 'ya', 'yu', 'yu', 'yo', 'yo', 'ra', 'ri', 'ru', 're', 
'ro', 'wa', 'wa',
+'wi', 'we', 'wo', 'n', 'vu', '[?]', '[?]', '[?]', '[?]', "", "", "", "", 
qq{"}, qq{"}, '[?]',
+'[?]', 'a', 'a', 'i', 'i', 'u', 'u', 'e', 'e', 'o', 'o', 'ka', 'ga', 'ki', 
'gi', 'ku',
+'gu', 'ke', 'ge', 'ko', 'go', 'sa', 'za', 'si', 'zi', 'su', 'zu', 'se', 'ze', 
'so', 'zo', 'ta',
+'da', 'ti', 'di', 'tu', 'tu', 'du', 'te', 'de', 'to', 'do', 'na', 'ni', 'nu', 
'ne', 'no', 'ha',
+'ba', 'pa', 'hi', 'bi', 'pi', 'hu', 'bu', 'pu', 'he', 'be', 'pe', 'ho', 'bo', 
'po', 'ma', 'mi',
+'mu', 'me', 'mo', 'ya', 'ya', 'yu', 'yu', 'yo', 'yo', 'ra', 'ri', 'ru', 're', 
'ro', 'wa', 'wa',
+'wi', 'we', 'wo', 'n', 'vu', 'ka', 'ke', 'va', 'vi', 've', 'vo', "", "", 
qq{"}, qq{"},
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x31.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x31.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x31.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x31.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:24 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x31] = [
+'[?]', '[?]', '[?]', '[?]', '[?]', 'B', 'P', 'M', 'F', 'D', 'T', 'N', 'L', 
'G', 'K', 'H',
+'J', 'Q', 'X', 'ZH', 'CH', 'SH', 'R', 'Z', 'C', 'S', 'A', 'O', 'E', 'EH', 
'AI', 'EI',
+'AU', 'OU', 'AN', 'EN', 'ANG', 'ENG', 'ER', 'I', 'U', 'IU', 'V', 'NG', 'GN', 
'[?]', '[?]', '[?]',
+'[?]', 'g', 'gg', 'gs', 'n', 'nj', 'nh', 'd', 'dd', 'r', 'lg', 'lm', 'lb', 
'ls', 'lt', 'lp',
+'rh', 'm', 'b', 'bb', 'bs', 's', 'ss', "", 'j', 'jj', 'c', 'k', 't', 'p', 'h', 
'a',
+'ae', 'ya', 'yae', 'eo', 'e', 'yeo', 'ye', 'o', 'wa', 'wae', 'oe', 'yo', 'u', 
'weo', 'we', 'wi',
+'yu', 'eu', 'yi', 'i', "", 'nn', 'nd', 'ns', 'nZ', 'lgs', 'ld', 'lbs', 'lZ', 
'lQ', 'mb', 'ms',
+'mZ', 'mN', 'bg', "", 'bsg', 'bst', 'bj', 'bt', 'bN', 'bbN', 'sg', 'sn', 'sd', 
'sb', 'sj', 'Z',
+"", 'N', 'Ns', 'NZ', 'pN', 'hh', 'Q', qq{yo-ya}, qq{yo-yae}, qq{yo-i}, 
qq{yu-yeo}, qq{yu-ye}, qq{yu-i}, 'U', qq{U-i}, '[?]',
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+'BU', 'ZI', 'JI', 'GU', 'EE', 'ENN', 'OO', 'ONN', 'IR', 'ANN', 'INN', 'UNN', 
'IM', 'NGG', 'AINN', 'AUNN',
+'AM', 'OM', 'ONG', 'INNN', 'P', 'T', 'K', 'H', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x32.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x32.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x32.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x32.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:24 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x32] = [
+qq{(g)}, qq{(n)}, qq{(d)}, qq{(r)}, qq{(m)}, qq{(b)}, qq{(s)}, qq{()}, 
qq{(j)}, qq{(c)}, qq{(k)}, qq{(t)}, qq{(p)}, qq{(h)}, qq{(ga)}, qq{(na)},
+qq{(da)}, qq{(ra)}, qq{(ma)}, qq{(ba)}, qq{(sa)}, qq{(a)}, qq{(ja)}, qq{(ca)}, 
qq{(ka)}, qq{(ta)}, qq{(pa)}, qq{(ha)}, qq{(ju)}, '[?]', '[?]', '[?]',
+qq{(1) }, qq{(2) }, qq{(3) }, qq{(4) }, qq{(5) }, qq{(6) }, qq{(7) }, qq{(8) 
}, qq{(9) }, qq{(10) }, qq{(Yue) }, qq{(Huo) }, qq{(Shui) }, qq{(Mu) }, 
qq{(Jin) }, qq{(Tu) },
+qq{(Ri) }, qq{(Zhu) }, qq{(You) }, qq{(She) }, qq{(Ming) }, qq{(Te) }, 
qq{(Cai) }, qq{(Zhu) }, qq{(Lao) }, qq{(Dai) }, qq{(Hu) }, qq{(Xue) }, 
qq{(Jian) }, qq{(Qi) }, qq{(Zi) }, qq{(Xie) },
+qq{(Ji) }, qq{(Xiu) }, qq{<<}, qq{>>}, '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+qq{(g)}, qq{(n)}, qq{(d)}, qq{(r)}, qq{(m)}, qq{(b)}, qq{(s)}, qq{()}, 
qq{(j)}, qq{(c)}, qq{(k)}, qq{(t)}, qq{(p)}, qq{(h)}, qq{(ga)}, qq{(na)},
+qq{(da)}, qq{(ra)}, qq{(ma)}, qq{(ba)}, qq{(sa)}, qq{(a)}, qq{(ja)}, qq{(ca)}, 
qq{(ka)}, qq{(ta)}, qq{(pa)}, qq{(ha)}, '[?]', '[?]', '[?]', 'KIS ',
+qq{(1) }, qq{(2) }, qq{(3) }, qq{(4) }, qq{(5) }, qq{(6) }, qq{(7) }, qq{(8) 
}, qq{(9) }, qq{(10) }, qq{(Yue) }, qq{(Huo) }, qq{(Shui) }, qq{(Mu) }, 
qq{(Jin) }, qq{(Tu) },
+qq{(Ri) }, qq{(Zhu) }, qq{(You) }, qq{(She) }, qq{(Ming) }, qq{(Te) }, 
qq{(Cai) }, qq{(Zhu) }, qq{(Lao) }, qq{(Mi) }, qq{(Nan) }, qq{(Nu) }, qq{(Shi) 
}, qq{(You) }, qq{(Yin) }, qq{(Zhu) },
+qq{(Xiang) }, qq{(Xiu) }, qq{(Xie) }, qq{(Zheng) }, qq{(Shang) }, qq{(Zhong) 
}, qq{(Xia) }, qq{(Zuo) }, qq{(You) }, qq{(Yi) }, qq{(Zong) }, qq{(Xue) }, 
qq{(Jian) }, qq{(Qi) }, qq{(Zi) }, qq{(Xie) },
+qq{(Ye) }, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+'1M', '2M', '3M', '4M', '5M', '6M', '7M', '8M', '9M', '10M', '11M', '12M', 
'[?]', '[?]', '[?]', '[?]',
+'a', 'i', 'u', 'u', 'o', 'ka', 'ki', 'ku', 'ke', 'ko', 'sa', 'si', 'su', 'se', 
'so', 'ta',
+'ti', 'tu', 'te', 'to', 'na', 'ni', 'nu', 'ne', 'no', 'ha', 'hi', 'hu', 'he', 
'ho', 'ma', 'mi',
+'mu', 'me', 'mo', 'ya', 'yu', 'yo', 'ra', 'ri', 'ru', 're', 'ro', 'wa', 'wi', 
'we', 'wo',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x33.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x33.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x33.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x33.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:24 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x33] = [
+'apartment', 'alpha', 'ampere', 'are', 'inning', 'inch', 'won', 'escudo', 
'acre', 'ounce', 'ohm', qq{kai-ri}, 'carat', 'calorie', 'gallon', 'gamma',
+'giga', 'guinea', 'curie', 'guilder', 'kilo', 'kilogram', 'kilometer', 
'kilowatt', 'gram', 'gram ton', 'cruzeiro', 'krone', 'case', 'koruna', 
qq{co-op}, 'cycle',
+'centime', 'shilling', 'centi', 'cent', 'dozen', 'desi', 'dollar', 'ton', 
'nano', 'knot', 'heights', 'percent', 'parts', 'barrel', 'piaster', 'picul',
+'pico', 'building', 'farad', 'feet', 'bushel', 'franc', 'hectare', 'peso', 
'pfennig', 'hertz', 'pence', 'page', 'beta', 'point', 'volt', 'hon',
+'pound', 'hall', 'horn', 'micro', 'mile', 'mach', 'mark', 'mansion', 'micron', 
'milli', 'millibar', 'mega', 'megaton', 'meter', 'yard', 'yard',
+'yuan', 'liter', 'lira', 'rupee', 'ruble', 'rem', 'roentgen', 'watt', '0h', 
'1h', '2h', '3h', '4h', '5h', '6h', '7h',
+'8h', '9h', '10h', '11h', '12h', '13h', '14h', '15h', '16h', '17h', '18h', 
'19h', '20h', '21h', '22h', '23h',
+'24h', 'HPA', 'da', 'AU', 'bar', 'oV', 'pc', '[?]', '[?]', '[?]', '[?]', 
'Heisei', 'Syouwa', 'Taisyou', 'Meiji', qq{Inc.},
+'pA', 'nA', 'microamp', 'mA', 'kA', 'kB', 'MB', 'GB', 'cal', 'kcal', 'pF', 
'nF', 'microFarad', 'microgram', 'mg', 'kg',
+'Hz', 'kHz', 'MHz', 'GHz', 'THz', 'microliter', 'ml', 'dl', 'kl', 'fm', 'nm', 
'micrometer', 'mm', 'cm', 'km', qq{mm^2},
+qq{cm^2}, qq{m^2}, qq{km^2}, qq{mm^4}, qq{cm^3}, qq{m^3}, qq{km^3}, qq{m/s}, 
qq{m/s^2}, 'Pa', 'kPa', 'MPa', 'GPa', 'rad', qq{rad/s}, qq{rad/s^2},
+'ps', 'ns', 'microsecond', 'ms', 'pV', 'nV', 'microvolt', 'mV', 'kV', 'MV', 
'pW', 'nW', 'microwatt', 'mW', 'kW', 'MW',
+'kOhm', 'MOhm', qq{a.m.}, 'Bq', 'cc', 'cd', qq{C/kg}, qq{Co.}, 'dB', 'Gy', 
'ha', 'HP', 'in', qq{K.K.}, 'KM', 'kt',
+'lm', 'ln', 'log', 'lx', 'mb', 'mil', 'mol', 'pH', qq{p.m.}, 'PPM', 'PR', 
'sr', 'Sv', 'Wb', '[?]', '[?]',
+'1d', '2d', '3d', '4d', '5d', '6d', '7d', '8d', '9d', '10d', '11d', '12d', 
'13d', '14d', '15d', '16d',
+'17d', '18d', '19d', '20d', '21d', '22d', '23d', '24d', '25d', '26d', '27d', 
'28d', '29d', '30d', '31d',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4d.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4d.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4d.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4d.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x4d] = [
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
}, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] 
},
+qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, qq{[?] }, '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4e.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x4e] = [
+qq{[?] }, 'Ding ', 'Kao ', 'Qi ', 'Shang ', 'Xia ', qq{[?] }, 'Mo ', 'Zhang ', 
'San ', 'Shang ', 'Xia ', 'Ji ', 'Bu ', 'Yu ', 'Mian ',
+'Gai ', 'Chou ', 'Chou ', 'Zhuan ', 'Qie ', 'Pi ', 'Shi ', 'Shi ', 'Qiu ', 
'Bing ', 'Ye ', 'Cong ', 'Dong ', 'Si ', 'Cheng ', 'Diu ',
+'Qiu ', 'Liang ', 'Diu ', 'You ', 'Liang ', 'Yan ', 'Bing ', 'Sang ', 'Gun ', 
'Jiu ', 'Ge ', 'Ya ', 'Qiang ', 'Zhong ', 'Ji ', 'Jie ',
+'Feng ', 'Guan ', 'Chuan ', 'Chan ', 'Lin ', 'Zhuo ', 'Zhu ', 'Ha ', 'Wan ', 
'Dan ', 'Wei ', 'Zhu ', 'Jing ', 'Li ', 'Ju ', 'Pie ',
+'Fu ', 'Yi ', 'Yi ', 'Nai ', 'Shime ', 'Jiu ', 'Jiu ', 'Zhe ', 'Yao ', 'Yi ', 
qq{[?] }, 'Zhi ', 'Wu ', 'Zha ', 'Hu ', 'Fa ',
+'Le ', 'Zhong ', 'Ping ', 'Pang ', 'Qiao ', 'Hu ', 'Guai ', 'Cheng ', 'Cheng 
', 'Yi ', 'Yin ', qq{[?] }, 'Mie ', 'Jiu ', 'Qi ', 'Ye ',
+'Xi ', 'Xiang ', 'Gai ', 'Diu ', 'Hal ', qq{[?] }, 'Shu ', 'Twul ', 'Shi ', 
'Ji ', 'Nang ', 'Jia ', 'Kel ', 'Shi ', qq{[?] }, 'Ol ',
+'Mai ', 'Luan ', 'Cal ', 'Ru ', 'Xue ', 'Yan ', 'Fu ', 'Sha ', 'Na ', 'Gan ', 
'Sol ', 'El ', 'Cwul ', qq{[?] }, 'Gan ', 'Chi ',
+'Gui ', 'Gan ', 'Luan ', 'Lin ', 'Yi ', 'Jue ', 'Liao ', 'Ma ', 'Yu ', 'Zheng 
', 'Shi ', 'Shi ', 'Er ', 'Chu ', 'Yu ', 'Yu ',
+'Yu ', 'Yun ', 'Hu ', 'Qi ', 'Wu ', 'Jing ', 'Si ', 'Sui ', 'Gen ', 'Gen ', 
'Ya ', 'Xie ', 'Ya ', 'Qi ', 'Ya ', 'Ji ',
+'Tou ', 'Wang ', 'Kang ', 'Ta ', 'Jiao ', 'Hai ', 'Yi ', 'Chan ', 'Heng ', 'Mu 
', qq{[?] }, 'Xiang ', 'Jing ', 'Ting ', 'Liang ', 'Xiang ',
+'Jing ', 'Ye ', 'Qin ', 'Bo ', 'You ', 'Xie ', 'Dan ', 'Lian ', 'Duo ', 'Wei 
', 'Ren ', 'Ren ', 'Ji ', 'La ', 'Wang ', 'Yi ',
+'Shi ', 'Ren ', 'Le ', 'Ding ', 'Ze ', 'Jin ', 'Pu ', 'Chou ', 'Ba ', 'Zhang 
', 'Jin ', 'Jie ', 'Bing ', 'Reng ', 'Cong ', 'Fo ',
+'San ', 'Lun ', 'Sya ', 'Cang ', 'Zi ', 'Shi ', 'Ta ', 'Zhang ', 'Fu ', 'Xian 
', 'Xian ', 'Tuo ', 'Hong ', 'Tong ', 'Ren ', 'Qian ',
+'Gan ', 'Yi ', 'Di ', 'Dai ', 'Ling ', 'Yi ', 'Chao ', 'Chang ', 'Sa ', qq{[?] 
}, 'Yi ', 'Mu ', 'Men ', 'Ren ', 'Jia ', 'Chao ',
+'Yang ', 'Qian ', 'Zhong ', 'Pi ', 'Wan ', 'Wu ', 'Jian ', 'Jie ', 'Yao ', 
'Feng ', 'Cang ', 'Ren ', 'Wang ', 'Fen ', 'Di ', 'Fang ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x4f.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x4f] = [
+'Zhong ', 'Qi ', 'Pei ', 'Yu ', 'Diao ', 'Dun ', 'Wen ', 'Yi ', 'Xin ', 'Kang 
', 'Yi ', 'Ji ', 'Ai ', 'Wu ', 'Ji ', 'Fu ',
+'Fa ', 'Xiu ', 'Jin ', 'Bei ', 'Dan ', 'Fu ', 'Tang ', 'Zhong ', 'You ', 'Huo 
', 'Hui ', 'Yu ', 'Cui ', 'Chuan ', 'San ', 'Wei ',
+'Chuan ', 'Che ', 'Ya ', 'Xian ', 'Shang ', 'Chang ', 'Lun ', 'Cang ', 'Xun ', 
'Xin ', 'Wei ', 'Zhu ', qq{[?] }, 'Xuan ', 'Nu ', 'Bo ',
+'Gu ', 'Ni ', 'Ni ', 'Xie ', 'Ban ', 'Xu ', 'Ling ', 'Zhou ', 'Shen ', 'Qu ', 
'Si ', 'Beng ', 'Si ', 'Jia ', 'Pi ', 'Yi ',
+'Si ', 'Ai ', 'Zheng ', 'Dian ', 'Han ', 'Mai ', 'Dan ', 'Zhu ', 'Bu ', 'Qu ', 
'Bi ', 'Shao ', 'Ci ', 'Wei ', 'Di ', 'Zhu ',
+'Zuo ', 'You ', 'Yang ', 'Ti ', 'Zhan ', 'He ', 'Bi ', 'Tuo ', 'She ', 'Yu ', 
'Yi ', 'Fo ', 'Zuo ', 'Kou ', 'Ning ', 'Tong ',
+'Ni ', 'Xuan ', 'Qu ', 'Yong ', 'Wa ', 'Qian ', qq{[?] }, 'Ka ', qq{[?] }, 
'Pei ', 'Huai ', 'He ', 'Lao ', 'Xiang ', 'Ge ', 'Yang ',
+'Bai ', 'Fa ', 'Ming ', 'Jia ', 'Er ', 'Bing ', 'Ji ', 'Hen ', 'Huo ', 'Gui ', 
'Quan ', 'Tiao ', 'Jiao ', 'Ci ', 'Yi ', 'Shi ',
+'Xing ', 'Shen ', 'Tuo ', 'Kan ', 'Zhi ', 'Gai ', 'Lai ', 'Yi ', 'Chi ', 'Kua 
', 'Guang ', 'Li ', 'Yin ', 'Shi ', 'Mi ', 'Zhu ',
+'Xu ', 'You ', 'An ', 'Lu ', 'Mou ', 'Er ', 'Lun ', 'Tong ', 'Cha ', 'Chi ', 
'Xun ', 'Gong ', 'Zhou ', 'Yi ', 'Ru ', 'Jian ',
+'Xia ', 'Jia ', 'Zai ', 'Lu ', 'Ko ', 'Jiao ', 'Zhen ', 'Ce ', 'Qiao ', 'Kuai 
', 'Chai ', 'Ning ', 'Nong ', 'Jin ', 'Wu ', 'Hou ',
+'Jiong ', 'Cheng ', 'Zhen ', 'Zuo ', 'Chou ', 'Qin ', 'Lu ', 'Ju ', 'Shu ', 
'Ting ', 'Shen ', 'Tuo ', 'Bo ', 'Nan ', 'Hao ', 'Bian ',
+'Tui ', 'Yu ', 'Xi ', 'Cu ', 'E ', 'Qiu ', 'Xu ', 'Kuang ', 'Ku ', 'Wu ', 'Jun 
', 'Yi ', 'Fu ', 'Lang ', 'Zu ', 'Qiao ',
+'Li ', 'Yong ', 'Hun ', 'Jing ', 'Xian ', 'San ', 'Pai ', 'Su ', 'Fu ', 'Xi ', 
'Li ', 'Fu ', 'Ping ', 'Bao ', 'Yu ', 'Si ',
+'Xia ', 'Xin ', 'Xiu ', 'Yu ', 'Ti ', 'Che ', 'Chou ', qq{[?] }, 'Yan ', 'Lia 
', 'Li ', 'Lai ', qq{[?] }, 'Jian ', 'Xiu ', 'Fu ',
+'He ', 'Ju ', 'Xiao ', 'Pai ', 'Jian ', 'Biao ', 'Chu ', 'Fei ', 'Feng ', 'Ya 
', 'An ', 'Bei ', 'Yu ', 'Xin ', 'Bi ', 'Jian ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x50.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x50.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x50.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x50.pm       12 Oct 2011 
23:50:56 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x50] = [
+'Chang ', 'Chi ', 'Bing ', 'Zan ', 'Yao ', 'Cui ', 'Lia ', 'Wan ', 'Lai ', 
'Cang ', 'Zong ', 'Ge ', 'Guan ', 'Bei ', 'Tian ', 'Shu ',
+'Shu ', 'Men ', 'Dao ', 'Tan ', 'Jue ', 'Chui ', 'Xing ', 'Peng ', 'Tang ', 
'Hou ', 'Yi ', 'Qi ', 'Ti ', 'Gan ', 'Jing ', 'Jie ',
+'Sui ', 'Chang ', 'Jie ', 'Fang ', 'Zhi ', 'Kong ', 'Juan ', 'Zong ', 'Ju ', 
'Qian ', 'Ni ', 'Lun ', 'Zhuo ', 'Wei ', 'Luo ', 'Song ',
+'Leng ', 'Hun ', 'Dong ', 'Zi ', 'Ben ', 'Wu ', 'Ju ', 'Nai ', 'Cai ', 'Jian 
', 'Zhai ', 'Ye ', 'Zhi ', 'Sha ', 'Qing ', qq{[?] },
+'Ying ', 'Cheng ', 'Jian ', 'Yan ', 'Nuan ', 'Zhong ', 'Chun ', 'Jia ', 'Jie 
', 'Wei ', 'Yu ', 'Bing ', 'Ruo ', 'Ti ', 'Wei ', 'Pian ',
+'Yan ', 'Feng ', 'Tang ', 'Wo ', 'E ', 'Xie ', 'Che ', 'Sheng ', 'Kan ', 'Di 
', 'Zuo ', 'Cha ', 'Ting ', 'Bei ', 'Ye ', 'Huang ',
+'Yao ', 'Zhan ', 'Chou ', 'Yan ', 'You ', 'Jian ', 'Xu ', 'Zha ', 'Ci ', 'Fu 
', 'Bi ', 'Zhi ', 'Zong ', 'Mian ', 'Ji ', 'Yi ',
+'Xie ', 'Xun ', 'Si ', 'Duan ', 'Ce ', 'Zhen ', 'Ou ', 'Tou ', 'Tou ', 'Bei ', 
'Za ', 'Lu ', 'Jie ', 'Wei ', 'Fen ', 'Chang ',
+'Gui ', 'Sou ', 'Zhi ', 'Su ', 'Xia ', 'Fu ', 'Yuan ', 'Rong ', 'Li ', 'Ru ', 
'Yun ', 'Gou ', 'Ma ', 'Bang ', 'Dian ', 'Tang ',
+'Hao ', 'Jie ', 'Xi ', 'Shan ', 'Qian ', 'Jue ', 'Cang ', 'Chu ', 'San ', 'Bei 
', 'Xiao ', 'Yong ', 'Yao ', 'Tan ', 'Suo ', 'Yang ',
+'Fa ', 'Bing ', 'Jia ', 'Dai ', 'Zai ', 'Tang ', qq{[?] }, 'Bin ', 'Chu ', 
'Nuo ', 'Can ', 'Lei ', 'Cui ', 'Yong ', 'Zao ', 'Zong ',
+'Peng ', 'Song ', 'Ao ', 'Chuan ', 'Yu ', 'Zhai ', 'Cou ', 'Shang ', 'Qiang ', 
'Jing ', 'Chi ', 'Sha ', 'Han ', 'Zhang ', 'Qing ', 'Yan ',
+'Di ', 'Xi ', 'Lu ', 'Bei ', 'Piao ', 'Jin ', 'Lian ', 'Lu ', 'Man ', 'Qian ', 
'Xian ', 'Tan ', 'Ying ', 'Dong ', 'Zhuan ', 'Xiang ',
+'Shan ', 'Qiao ', 'Jiong ', 'Tui ', 'Zun ', 'Pu ', 'Xi ', 'Lao ', 'Chang ', 
'Guang ', 'Liao ', 'Qi ', 'Deng ', 'Chan ', 'Wei ', 'Ji ',
+'Fan ', 'Hui ', 'Chuan ', 'Jian ', 'Dan ', 'Jiao ', 'Jiu ', 'Seng ', 'Fen ', 
'Xian ', 'Jue ', 'E ', 'Jiao ', 'Jian ', 'Tong ', 'Lin ',
+'Bo ', 'Gu ', qq{[?] }, 'Su ', 'Xian ', 'Jiang ', 'Min ', 'Ye ', 'Jin ', 'Jia 
', 'Qiao ', 'Pi ', 'Feng ', 'Zhou ', 'Ai ', 'Sai ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x51.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x51.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x51.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x51.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x51] = [
+'Yi ', 'Jun ', 'Nong ', 'Chan ', 'Yi ', 'Dang ', 'Jing ', 'Xuan ', 'Kuai ', 
'Jian ', 'Chu ', 'Dan ', 'Jiao ', 'Sha ', 'Zai ', qq{[?] },
+'Bin ', 'An ', 'Ru ', 'Tai ', 'Chou ', 'Chai ', 'Lan ', 'Ni ', 'Jin ', 'Qian 
', 'Meng ', 'Wu ', 'Ning ', 'Qiong ', 'Ni ', 'Chang ',
+'Lie ', 'Lei ', 'Lu ', 'Kuang ', 'Bao ', 'Du ', 'Biao ', 'Zan ', 'Zhi ', 'Si 
', 'You ', 'Hao ', 'Chen ', 'Chen ', 'Li ', 'Teng ',
+'Wei ', 'Long ', 'Chu ', 'Chan ', 'Rang ', 'Shu ', 'Hui ', 'Li ', 'Luo ', 'Zan 
', 'Nuo ', 'Tang ', 'Yan ', 'Lei ', 'Nang ', 'Er ',
+'Wu ', 'Yun ', 'Zan ', 'Yuan ', 'Xiong ', 'Chong ', 'Zhao ', 'Xiong ', 'Xian 
', 'Guang ', 'Dui ', 'Ke ', 'Dui ', 'Mian ', 'Tu ', 'Chang ',
+'Er ', 'Dui ', 'Er ', 'Xin ', 'Tu ', 'Si ', 'Yan ', 'Yan ', 'Shi ', 'Shi ', 
'Dang ', 'Qian ', 'Dou ', 'Fen ', 'Mao ', 'Shen ',
+'Dou ', 'Bai ', 'Jing ', 'Li ', 'Huang ', 'Ru ', 'Wang ', 'Nei ', 'Quan ', 
'Liang ', 'Yu ', 'Ba ', 'Gong ', 'Liu ', 'Xi ', qq{[?] },
+'Lan ', 'Gong ', 'Tian ', 'Guan ', 'Xing ', 'Bing ', 'Qi ', 'Ju ', 'Dian ', 
'Zi ', 'Ppwun ', 'Yang ', 'Jian ', 'Shou ', 'Ji ', 'Yi ',
+'Ji ', 'Chan ', 'Jiong ', 'Mao ', 'Ran ', 'Nei ', 'Yuan ', 'Mao ', 'Gang ', 
'Ran ', 'Ce ', 'Jiong ', 'Ce ', 'Zai ', 'Gua ', 'Jiong ',
+'Mao ', 'Zhou ', 'Mou ', 'Gou ', 'Xu ', 'Mian ', 'Mi ', 'Rong ', 'Yin ', 'Xie 
', 'Kan ', 'Jun ', 'Nong ', 'Yi ', 'Mi ', 'Shi ',
+'Guan ', 'Meng ', 'Zhong ', 'Ju ', 'Yuan ', 'Ming ', 'Kou ', 'Lam ', 'Fu ', 
'Xie ', 'Mi ', 'Bing ', 'Dong ', 'Tai ', 'Gang ', 'Feng ',
+'Bing ', 'Hu ', 'Chong ', 'Jue ', 'Hu ', 'Kuang ', 'Ye ', 'Leng ', 'Pan ', 'Fu 
', 'Min ', 'Dong ', 'Xian ', 'Lie ', 'Xia ', 'Jian ',
+'Jing ', 'Shu ', 'Mei ', 'Tu ', 'Qi ', 'Gu ', 'Zhun ', 'Song ', 'Jing ', 
'Liang ', 'Qing ', 'Diao ', 'Ling ', 'Dong ', 'Gan ', 'Jian ',
+'Yin ', 'Cou ', 'Yi ', 'Li ', 'Cang ', 'Ming ', 'Zhuen ', 'Cui ', 'Si ', 'Duo 
', 'Jin ', 'Lin ', 'Lin ', 'Ning ', 'Xi ', 'Du ',
+'Ji ', 'Fan ', 'Fan ', 'Fan ', 'Feng ', 'Ju ', 'Chu ', 'Tako ', 'Feng ', 'Mok 
', 'Ci ', 'Fu ', 'Feng ', 'Ping ', 'Feng ', 'Kai ',
+'Huang ', 'Kai ', 'Gan ', 'Deng ', 'Ping ', 'Qu ', 'Xiong ', 'Kuai ', 'Tu ', 
'Ao ', 'Chu ', 'Ji ', 'Dang ', 'Han ', 'Han ', 'Zao ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x52.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x52.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x52.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x52.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x52] = [
+'Dao ', 'Diao ', 'Dao ', 'Ren ', 'Ren ', 'Chuang ', 'Fen ', 'Qie ', 'Yi ', 'Ji 
', 'Kan ', 'Qian ', 'Cun ', 'Chu ', 'Wen ', 'Ji ',
+'Dan ', 'Xing ', 'Hua ', 'Wan ', 'Jue ', 'Li ', 'Yue ', 'Lie ', 'Liu ', 'Ze ', 
'Gang ', 'Chuang ', 'Fu ', 'Chu ', 'Qu ', 'Ju ',
+'Shan ', 'Min ', 'Ling ', 'Zhong ', 'Pan ', 'Bie ', 'Jie ', 'Jie ', 'Bao ', 
'Li ', 'Shan ', 'Bie ', 'Chan ', 'Jing ', 'Gua ', 'Gen ',
+'Dao ', 'Chuang ', 'Kui ', 'Ku ', 'Duo ', 'Er ', 'Zhi ', 'Shua ', 'Quan ', 
'Cha ', 'Ci ', 'Ke ', 'Jie ', 'Gui ', 'Ci ', 'Gui ',
+'Kai ', 'Duo ', 'Ji ', 'Ti ', 'Jing ', 'Lou ', 'Gen ', 'Ze ', 'Yuan ', 'Cuo ', 
'Xue ', 'Ke ', 'La ', 'Qian ', 'Cha ', 'Chuang ',
+'Gua ', 'Jian ', 'Cuo ', 'Li ', 'Ti ', 'Fei ', 'Pou ', 'Chan ', 'Qi ', 'Chuang 
', 'Zi ', 'Gang ', 'Wan ', 'Bo ', 'Ji ', 'Duo ',
+'Qing ', 'Yan ', 'Zhuo ', 'Jian ', 'Ji ', 'Bo ', 'Yan ', 'Ju ', 'Huo ', 'Sheng 
', 'Jian ', 'Duo ', 'Duan ', 'Wu ', 'Gua ', 'Fu ',
+'Sheng ', 'Jian ', 'Ge ', 'Zha ', 'Kai ', 'Chuang ', 'Juan ', 'Chan ', 'Tuan 
', 'Lu ', 'Li ', 'Fou ', 'Shan ', 'Piao ', 'Kou ', 'Jiao ',
+'Gua ', 'Qiao ', 'Jue ', 'Hua ', 'Zha ', 'Zhuo ', 'Lian ', 'Ju ', 'Pi ', 'Liu 
', 'Gui ', 'Jiao ', 'Gui ', 'Jian ', 'Jian ', 'Tang ',
+'Huo ', 'Ji ', 'Jian ', 'Yi ', 'Jian ', 'Zhi ', 'Chan ', 'Cuan ', 'Mo ', 'Li 
', 'Zhu ', 'Li ', 'Ya ', 'Quan ', 'Ban ', 'Gong ',
+'Jia ', 'Wu ', 'Mai ', 'Lie ', 'Jin ', 'Keng ', 'Xie ', 'Zhi ', 'Dong ', 'Zhu 
', 'Nu ', 'Jie ', 'Qu ', 'Shao ', 'Yi ', 'Zhu ',
+'Miao ', 'Li ', 'Jing ', 'Lao ', 'Lao ', 'Juan ', 'Kou ', 'Yang ', 'Wa ', 
'Xiao ', 'Mou ', 'Kuang ', 'Jie ', 'Lie ', 'He ', 'Shi ',
+'Ke ', 'Jing ', 'Hao ', 'Bo ', 'Min ', 'Chi ', 'Lang ', 'Yong ', 'Yong ', 
'Mian ', 'Ke ', 'Xun ', 'Juan ', 'Qing ', 'Lu ', 'Pou ',
+'Meng ', 'Lai ', 'Le ', 'Kai ', 'Mian ', 'Dong ', 'Xu ', 'Xu ', 'Kan ', 'Wu ', 
'Yi ', 'Xun ', 'Weng ', 'Sheng ', 'Lao ', 'Mu ',
+'Lu ', 'Piao ', 'Shi ', 'Ji ', 'Qin ', 'Qiang ', 'Jiao ', 'Quan ', 'Yang ', 
'Yi ', 'Jue ', 'Fan ', 'Juan ', 'Tong ', 'Ju ', 'Dan ',
+'Xie ', 'Mai ', 'Xun ', 'Xun ', 'Lu ', 'Li ', 'Che ', 'Rang ', 'Quan ', 'Bao 
', 'Shao ', 'Yun ', 'Jiu ', 'Bao ', 'Gou ', 'Wu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x53.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x53.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x53.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x53.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x53] = [
+'Yun ', 'Mwun ', 'Nay ', 'Gai ', 'Gai ', 'Bao ', 'Cong ', qq{[?] }, 'Xiong ', 
'Peng ', 'Ju ', 'Tao ', 'Ge ', 'Pu ', 'An ', 'Pao ',
+'Fu ', 'Gong ', 'Da ', 'Jiu ', 'Qiong ', 'Bi ', 'Hua ', 'Bei ', 'Nao ', 'Chi 
', 'Fang ', 'Jiu ', 'Yi ', 'Za ', 'Jiang ', 'Kang ',
+'Jiang ', 'Kuang ', 'Hu ', 'Xia ', 'Qu ', 'Bian ', 'Gui ', 'Qie ', 'Zang ', 
'Kuang ', 'Fei ', 'Hu ', 'Tou ', 'Gui ', 'Gui ', 'Hui ',
+'Dan ', 'Gui ', 'Lian ', 'Lian ', 'Suan ', 'Du ', 'Jiu ', 'Qu ', 'Xi ', 'Pi ', 
'Qu ', 'Yi ', 'Qia ', 'Yan ', 'Bian ', 'Ni ',
+'Qu ', 'Shi ', 'Xin ', 'Qian ', 'Nian ', 'Sa ', 'Zu ', 'Sheng ', 'Wu ', 'Hui 
', 'Ban ', 'Shi ', 'Xi ', 'Wan ', 'Hua ', 'Xie ',
+'Wan ', 'Bei ', 'Zu ', 'Zhuo ', 'Xie ', 'Dan ', 'Mai ', 'Nan ', 'Dan ', 'Ji ', 
'Bo ', 'Shuai ', 'Bu ', 'Kuang ', 'Bian ', 'Bu ',
+'Zhan ', 'Qia ', 'Lu ', 'You ', 'Lu ', 'Xi ', 'Gua ', 'Wo ', 'Xie ', 'Jie ', 
'Jie ', 'Wei ', 'Ang ', 'Qiong ', 'Zhi ', 'Mao ',
+'Yin ', 'Wei ', 'Shao ', 'Ji ', 'Que ', 'Luan ', 'Shi ', 'Juan ', 'Xie ', 'Xu 
', 'Jin ', 'Que ', 'Wu ', 'Ji ', 'E ', 'Qing ',
+'Xi ', qq{[?] }, 'Han ', 'Zhan ', 'E ', 'Ting ', 'Li ', 'Zhe ', 'Han ', 'Li ', 
'Ya ', 'Ya ', 'Yan ', 'She ', 'Zhi ', 'Zha ',
+'Pang ', qq{[?] }, 'He ', 'Ya ', 'Zhi ', 'Ce ', 'Pang ', 'Ti ', 'Li ', 'She ', 
'Hou ', 'Ting ', 'Zui ', 'Cuo ', 'Fei ', 'Yuan ',
+'Ce ', 'Yuan ', 'Xiang ', 'Yan ', 'Li ', 'Jue ', 'Sha ', 'Dian ', 'Chu ', 'Jiu 
', 'Qin ', 'Ao ', 'Gui ', 'Yan ', 'Si ', 'Li ',
+'Chang ', 'Lan ', 'Li ', 'Yan ', 'Yan ', 'Yuan ', 'Si ', 'Gong ', 'Lin ', 'Qiu 
', 'Qu ', 'Qu ', 'Uk ', 'Lei ', 'Du ', 'Xian ',
+'Zhuan ', 'San ', 'Can ', 'Can ', 'Can ', 'Can ', 'Ai ', 'Dai ', 'You ', 'Cha 
', 'Ji ', 'You ', 'Shuang ', 'Fan ', 'Shou ', 'Guai ',
+'Ba ', 'Fa ', 'Ruo ', 'Shi ', 'Shu ', 'Zhuo ', 'Qu ', 'Shou ', 'Bian ', 'Xu ', 
'Jia ', 'Pan ', 'Sou ', 'Gao ', 'Wei ', 'Sou ',
+'Die ', 'Rui ', 'Cong ', 'Kou ', 'Gu ', 'Ju ', 'Ling ', 'Gua ', 'Tao ', 'Kou 
', 'Zhi ', 'Jiao ', 'Zhao ', 'Ba ', 'Ding ', 'Ke ',
+'Tai ', 'Chi ', 'Shi ', 'You ', 'Qiu ', 'Po ', 'Xie ', 'Hao ', 'Si ', 'Tan ', 
'Chi ', 'Le ', 'Diao ', 'Ji ', qq{[?] }, 'Hong ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x54.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x54.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x54.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x54.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x54] = [
+'Mie ', 'Xu ', 'Mang ', 'Chi ', 'Ge ', 'Xuan ', 'Yao ', 'Zi ', 'He ', 'Ji ', 
'Diao ', 'Cun ', 'Tong ', 'Ming ', 'Hou ', 'Li ',
+'Tu ', 'Xiang ', 'Zha ', 'Xia ', 'Ye ', 'Lu ', 'A ', 'Ma ', 'Ou ', 'Xue ', 'Yi 
', 'Jun ', 'Chou ', 'Lin ', 'Tun ', 'Yin ',
+'Fei ', 'Bi ', 'Qin ', 'Qin ', 'Jie ', 'Bu ', 'Fou ', 'Ba ', 'Dun ', 'Fen ', 
'E ', 'Han ', 'Ting ', 'Hang ', 'Shun ', 'Qi ',
+'Hong ', 'Zhi ', 'Shen ', 'Wu ', 'Wu ', 'Chao ', 'Ne ', 'Xue ', 'Xi ', 'Chui 
', 'Dou ', 'Wen ', 'Hou ', 'Ou ', 'Wu ', 'Gao ',
+'Ya ', 'Jun ', 'Lu ', 'E ', 'Ge ', 'Mei ', 'Ai ', 'Qi ', 'Cheng ', 'Wu ', 'Gao 
', 'Fu ', 'Jiao ', 'Hong ', 'Chi ', 'Sheng ',
+'Ne ', 'Tun ', 'Fu ', 'Yi ', 'Dai ', 'Ou ', 'Li ', 'Bai ', 'Yuan ', 'Kuai ', 
qq{[?] }, 'Qiang ', 'Wu ', 'E ', 'Shi ', 'Quan ',
+'Pen ', 'Wen ', 'Ni ', 'M ', 'Ling ', 'Ran ', 'You ', 'Di ', 'Zhou ', 'Shi ', 
'Zhou ', 'Tie ', 'Xi ', 'Yi ', 'Qi ', 'Ping ',
+'Zi ', 'Gu ', 'Zi ', 'Wei ', 'Xu ', 'He ', 'Nao ', 'Xia ', 'Pei ', 'Yi ', 
'Xiao ', 'Shen ', 'Hu ', 'Ming ', 'Da ', 'Qu ',
+'Ju ', 'Gem ', 'Za ', 'Tuo ', 'Duo ', 'Pou ', 'Pao ', 'Bi ', 'Fu ', 'Yang ', 
'He ', 'Zha ', 'He ', 'Hai ', 'Jiu ', 'Yong ',
+'Fu ', 'Que ', 'Zhou ', 'Wa ', 'Ka ', 'Gu ', 'Ka ', 'Zuo ', 'Bu ', 'Long ', 
'Dong ', 'Ning ', 'Tha ', 'Si ', 'Xian ', 'Huo ',
+'Qi ', 'Er ', 'E ', 'Guang ', 'Zha ', 'Xi ', 'Yi ', 'Lie ', 'Zi ', 'Mie ', 'Mi 
', 'Zhi ', 'Yao ', 'Ji ', 'Zhou ', 'Ge ',
+'Shuai ', 'Zan ', 'Xiao ', 'Ke ', 'Hui ', 'Kua ', 'Huai ', 'Tao ', 'Xian ', 'E 
', 'Xuan ', 'Xiu ', 'Wai ', 'Yan ', 'Lao ', 'Yi ',
+'Ai ', 'Pin ', 'Shen ', 'Tong ', 'Hong ', 'Xiong ', 'Chi ', 'Wa ', 'Ha ', 'Zai 
', 'Yu ', 'Di ', 'Pai ', 'Xiang ', 'Ai ', 'Hen ',
+'Kuang ', 'Ya ', 'Da ', 'Xiao ', 'Bi ', 'Yue ', qq{[?] }, 'Hua ', 'Sasou ', 
'Kuai ', 'Duo ', qq{[?] }, 'Ji ', 'Nong ', 'Mou ', 'Yo ',
+'Hao ', 'Yuan ', 'Long ', 'Pou ', 'Mang ', 'Ge ', 'E ', 'Chi ', 'Shao ', 'Li 
', 'Na ', 'Zu ', 'He ', 'Ku ', 'Xiao ', 'Xian ',
+'Lao ', 'Bo ', 'Zhe ', 'Zha ', 'Liang ', 'Ba ', 'Mie ', 'Le ', 'Sui ', 'Fou ', 
'Bu ', 'Han ', 'Heng ', 'Geng ', 'Shuo ', 'Ge ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x55.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x55.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x55.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x55.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x55] = [
+'You ', 'Yan ', 'Gu ', 'Gu ', 'Bai ', 'Han ', 'Suo ', 'Chun ', 'Yi ', 'Ai ', 
'Jia ', 'Tu ', 'Xian ', 'Huan ', 'Li ', 'Xi ',
+'Tang ', 'Zuo ', 'Qiu ', 'Che ', 'Wu ', 'Zao ', 'Ya ', 'Dou ', 'Qi ', 'Di ', 
'Qin ', 'Ma ', 'Mal ', 'Hong ', 'Dou ', 'Kes ',
+'Lao ', 'Liang ', 'Suo ', 'Zao ', 'Huan ', 'Lang ', 'Sha ', 'Ji ', 'Zuo ', 'Wo 
', 'Feng ', 'Yin ', 'Hu ', 'Qi ', 'Shou ', 'Wei ',
+'Shua ', 'Chang ', 'Er ', 'Li ', 'Qiang ', 'An ', 'Jie ', 'Yo ', 'Nian ', 'Yu 
', 'Tian ', 'Lai ', 'Sha ', 'Xi ', 'Tuo ', 'Hu ',
+'Ai ', 'Zhou ', 'Nou ', 'Ken ', 'Zhuo ', 'Zhuo ', 'Shang ', 'Di ', 'Heng ', 
'Lan ', 'A ', 'Xiao ', 'Xiang ', 'Tun ', 'Wu ', 'Wen ',
+'Cui ', 'Sha ', 'Hu ', 'Qi ', 'Qi ', 'Tao ', 'Dan ', 'Dan ', 'Ye ', 'Zi ', 'Bi 
', 'Cui ', 'Chuo ', 'He ', 'Ya ', 'Qi ',
+'Zhe ', 'Pei ', 'Liang ', 'Xian ', 'Pi ', 'Sha ', 'La ', 'Ze ', 'Qing ', 'Gua 
', 'Pa ', 'Zhe ', 'Se ', 'Zhuan ', 'Nie ', 'Guo ',
+'Luo ', 'Yan ', 'Di ', 'Quan ', 'Tan ', 'Bo ', 'Ding ', 'Lang ', 'Xiao ', 
qq{[?] }, 'Tang ', 'Chi ', 'Ti ', 'An ', 'Jiu ', 'Dan ',
+'Ke ', 'Yong ', 'Wei ', 'Nan ', 'Shan ', 'Yu ', 'Zhe ', 'La ', 'Jie ', 'Hou ', 
'Han ', 'Die ', 'Zhou ', 'Chai ', 'Wai ', 'Re ',
+'Yu ', 'Yin ', 'Zan ', 'Yao ', 'Wo ', 'Mian ', 'Hu ', 'Yun ', 'Chuan ', 'Hui 
', 'Huan ', 'Huan ', 'Xi ', 'He ', 'Ji ', 'Kui ',
+'Zhong ', 'Wei ', 'Sha ', 'Xu ', 'Huang ', 'Du ', 'Nie ', 'Xuan ', 'Liang ', 
'Yu ', 'Sang ', 'Chi ', 'Qiao ', 'Yan ', 'Dan ', 'Pen ',
+'Can ', 'Li ', 'Yo ', 'Zha ', 'Wei ', 'Miao ', 'Ying ', 'Pen ', 'Phos ', 'Kui 
', 'Xi ', 'Yu ', 'Jie ', 'Lou ', 'Ku ', 'Sao ',
+'Huo ', 'Ti ', 'Yao ', 'He ', 'A ', 'Xiu ', 'Qiang ', 'Se ', 'Yong ', 'Su ', 
'Hong ', 'Xie ', 'Yi ', 'Suo ', 'Ma ', 'Cha ',
+'Hai ', 'Ke ', 'Ta ', 'Sang ', 'Tian ', 'Ru ', 'Sou ', 'Wa ', 'Ji ', 'Pang ', 
'Wu ', 'Xian ', 'Shi ', 'Ge ', 'Zi ', 'Jie ',
+'Luo ', 'Weng ', 'Wa ', 'Si ', 'Chi ', 'Hao ', 'Suo ', 'Jia ', 'Hai ', 'Suo ', 
'Qin ', 'Nie ', 'He ', 'Cis ', 'Sai ', 'Ng ',
+'Ge ', 'Na ', 'Dia ', 'Ai ', qq{[?] }, 'Tong ', 'Bi ', 'Ao ', 'Ao ', 'Lian ', 
'Cui ', 'Zhe ', 'Mo ', 'Sou ', 'Sou ', 'Tan ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x56.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x56.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x56.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x56.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x56] = [
+'Di ', 'Qi ', 'Jiao ', 'Chong ', 'Jiao ', 'Kai ', 'Tan ', 'San ', 'Cao ', 'Jia 
', 'Ai ', 'Xiao ', 'Piao ', 'Lou ', 'Ga ', 'Gu ',
+'Xiao ', 'Hu ', 'Hui ', 'Guo ', 'Ou ', 'Xian ', 'Ze ', 'Chang ', 'Xu ', 'Po ', 
'De ', 'Ma ', 'Ma ', 'Hu ', 'Lei ', 'Du ',
+'Ga ', 'Tang ', 'Ye ', 'Beng ', 'Ying ', 'Saai ', 'Jiao ', 'Mi ', 'Xiao ', 
'Hua ', 'Mai ', 'Ran ', 'Zuo ', 'Peng ', 'Lao ', 'Xiao ',
+'Ji ', 'Zhu ', 'Chao ', 'Kui ', 'Zui ', 'Xiao ', 'Si ', 'Hao ', 'Fu ', 'Liao 
', 'Qiao ', 'Xi ', 'Xiu ', 'Tan ', 'Tan ', 'Mo ',
+'Xun ', 'E ', 'Zun ', 'Fan ', 'Chi ', 'Hui ', 'Zan ', 'Chuang ', 'Cu ', 'Dan 
', 'Yu ', 'Tun ', 'Cheng ', 'Jiao ', 'Ye ', 'Xi ',
+'Qi ', 'Hao ', 'Lian ', 'Xu ', 'Deng ', 'Hui ', 'Yin ', 'Pu ', 'Jue ', 'Qin ', 
'Xun ', 'Nie ', 'Lu ', 'Si ', 'Yan ', 'Ying ',
+'Da ', 'Dan ', 'Yu ', 'Zhou ', 'Jin ', 'Nong ', 'Yue ', 'Hui ', 'Qi ', 'E ', 
'Zao ', 'Yi ', 'Shi ', 'Jiao ', 'Yuan ', 'Ai ',
+'Yong ', 'Jue ', 'Kuai ', 'Yu ', 'Pen ', 'Dao ', 'Ge ', 'Xin ', 'Dun ', 'Dang 
', 'Sin ', 'Sai ', 'Pi ', 'Pi ', 'Yin ', 'Zui ',
+'Ning ', 'Di ', 'Lan ', 'Ta ', 'Huo ', 'Ru ', 'Hao ', 'Xia ', 'Ya ', 'Duo ', 
'Xi ', 'Chou ', 'Ji ', 'Jin ', 'Hao ', 'Ti ',
+'Chang ', qq{[?] }, qq{[?] }, 'Ca ', 'Ti ', 'Lu ', 'Hui ', 'Bo ', 'You ', 'Nie 
', 'Yin ', 'Hu ', 'Mo ', 'Huang ', 'Zhe ', 'Li ',
+'Liu ', 'Haai ', 'Nang ', 'Xiao ', 'Mo ', 'Yan ', 'Li ', 'Lu ', 'Long ', 'Fu 
', 'Dan ', 'Chen ', 'Pin ', 'Pi ', 'Xiang ', 'Huo ',
+'Mo ', 'Xi ', 'Duo ', 'Ku ', 'Yan ', 'Chan ', 'Ying ', 'Rang ', 'Dian ', 'La 
', 'Ta ', 'Xiao ', 'Jiao ', 'Chuo ', 'Huan ', 'Huo ',
+'Zhuan ', 'Nie ', 'Xiao ', 'Ca ', 'Li ', 'Chan ', 'Chai ', 'Li ', 'Yi ', 'Luo 
', 'Nang ', 'Zan ', 'Su ', 'Xi ', 'So ', 'Jian ',
+'Za ', 'Zhu ', 'Lan ', 'Nie ', 'Nang ', qq{[?] }, qq{[?] }, 'Wei ', 'Hui ', 
'Yin ', 'Qiu ', 'Si ', 'Nin ', 'Jian ', 'Hui ', 'Xin ',
+'Yin ', 'Nan ', 'Tuan ', 'Tuan ', 'Dun ', 'Kang ', 'Yuan ', 'Jiong ', 'Pian ', 
'Yun ', 'Cong ', 'Hu ', 'Hui ', 'Yuan ', 'You ', 'Guo ',
+'Kun ', 'Cong ', 'Wei ', 'Tu ', 'Wei ', 'Lun ', 'Guo ', 'Qun ', 'Ri ', 'Ling 
', 'Gu ', 'Guo ', 'Tai ', 'Guo ', 'Tu ', 'You ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x57.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x57.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x57.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x57.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x57] = [
+'Guo ', 'Yin ', 'Hun ', 'Pu ', 'Yu ', 'Han ', 'Yuan ', 'Lun ', 'Quan ', 'Yu ', 
'Qing ', 'Guo ', 'Chuan ', 'Wei ', 'Yuan ', 'Quan ',
+'Ku ', 'Fu ', 'Yuan ', 'Yuan ', 'E ', 'Tu ', 'Tu ', 'Tu ', 'Tuan ', 'Lue ', 
'Hui ', 'Yi ', 'Yuan ', 'Luan ', 'Luan ', 'Tu ',
+'Ya ', 'Tu ', 'Ting ', 'Sheng ', 'Pu ', 'Lu ', 'Iri ', 'Ya ', 'Zai ', 'Wei ', 
'Ge ', 'Yu ', 'Wu ', 'Gui ', 'Pi ', 'Yi ',
+'Di ', 'Qian ', 'Qian ', 'Zhen ', 'Zhuo ', 'Dang ', 'Qia ', 'Akutsu ', 'Yama 
', 'Kuang ', 'Chang ', 'Qi ', 'Nie ', 'Mo ', 'Ji ', 'Jia ',
+'Zhi ', 'Zhi ', 'Ban ', 'Xun ', 'Tou ', 'Qin ', 'Fen ', 'Jun ', 'Keng ', 'Tun 
', 'Fang ', 'Fen ', 'Ben ', 'Tan ', 'Kan ', 'Pi ',
+'Zuo ', 'Keng ', 'Bi ', 'Xing ', 'Di ', 'Jing ', 'Ji ', 'Kuai ', 'Di ', 'Jing 
', 'Jian ', 'Tan ', 'Li ', 'Ba ', 'Wu ', 'Fen ',
+'Zhui ', 'Po ', 'Pan ', 'Tang ', 'Kun ', 'Qu ', 'Tan ', 'Zhi ', 'Tuo ', 'Gan 
', 'Ping ', 'Dian ', 'Gua ', 'Ni ', 'Tai ', 'Pi ',
+'Jiong ', 'Yang ', 'Fo ', 'Ao ', 'Liu ', 'Qiu ', 'Mu ', 'Ke ', 'Gou ', 'Xue ', 
'Ba ', 'Chi ', 'Che ', 'Ling ', 'Zhu ', 'Fu ',
+'Hu ', 'Zhi ', 'Chui ', 'La ', 'Long ', 'Long ', 'Lu ', 'Ao ', 'Tay ', 'Pao ', 
qq{[?] }, 'Xing ', 'Dong ', 'Ji ', 'Ke ', 'Lu ',
+'Ci ', 'Chi ', 'Lei ', 'Gai ', 'Yin ', 'Hou ', 'Dui ', 'Zhao ', 'Fu ', 'Guang 
', 'Yao ', 'Duo ', 'Duo ', 'Gui ', 'Cha ', 'Yang ',
+'Yin ', 'Fa ', 'Gou ', 'Yuan ', 'Die ', 'Xie ', 'Ken ', 'Jiong ', 'Shou ', 'E 
', 'Ha ', 'Dian ', 'Hong ', 'Wu ', 'Kua ', qq{[?] },
+'Tao ', 'Dang ', 'Kai ', 'Gake ', 'Nao ', 'An ', 'Xing ', 'Xian ', 'Huan ', 
'Bang ', 'Pei ', 'Ba ', 'Yi ', 'Yin ', 'Han ', 'Xu ',
+'Chui ', 'Cen ', 'Geng ', 'Ai ', 'Peng ', 'Fang ', 'Que ', 'Yong ', 'Xun ', 
'Jia ', 'Di ', 'Mai ', 'Lang ', 'Xuan ', 'Cheng ', 'Yan ',
+'Jin ', 'Zhe ', 'Lei ', 'Lie ', 'Bu ', 'Cheng ', 'Gomi ', 'Bu ', 'Shi ', 'Xun 
', 'Guo ', 'Jiong ', 'Ye ', 'Nian ', 'Di ', 'Yu ',
+'Bu ', 'Ya ', 'Juan ', 'Sui ', 'Pi ', 'Cheng ', 'Wan ', 'Ju ', 'Lun ', 'Zheng 
', 'Kong ', 'Chong ', 'Dong ', 'Dai ', 'Tan ', 'An ',
+'Cai ', 'Shu ', 'Beng ', 'Kan ', 'Zhi ', 'Duo ', 'Yi ', 'Zhi ', 'Yi ', 'Pei ', 
'Ji ', 'Zhun ', 'Qi ', 'Sao ', 'Ju ', 'Ni ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x58.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x58.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x58.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x58.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:30 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x58] = [
+'Ku ', 'Ke ', 'Tang ', 'Kun ', 'Ni ', 'Jian ', 'Dui ', 'Jin ', 'Gang ', 'Yu ', 
'E ', 'Peng ', 'Gu ', 'Tu ', 'Leng ', qq{[?] },
+'Ya ', 'Qian ', qq{[?] }, 'An ', qq{[?] }, 'Duo ', 'Nao ', 'Tu ', 'Cheng ', 
'Yin ', 'Hun ', 'Bi ', 'Lian ', 'Guo ', 'Die ', 'Zhuan ',
+'Hou ', 'Bao ', 'Bao ', 'Yu ', 'Di ', 'Mao ', 'Jie ', 'Ruan ', 'E ', 'Geng ', 
'Kan ', 'Zong ', 'Yu ', 'Huang ', 'E ', 'Yao ',
+'Yan ', 'Bao ', 'Ji ', 'Mei ', 'Chang ', 'Du ', 'Tuo ', 'Yin ', 'Feng ', 
'Zhong ', 'Jie ', 'Zhen ', 'Feng ', 'Gang ', 'Chuan ', 'Jian ',
+'Pyeng ', 'Toride ', 'Xiang ', 'Huang ', 'Leng ', 'Duan ', qq{[?] }, 'Xuan ', 
'Ji ', 'Ji ', 'Kuai ', 'Ying ', 'Ta ', 'Cheng ', 'Yong ', 'Kai ',
+'Su ', 'Su ', 'Shi ', 'Mi ', 'Ta ', 'Weng ', 'Cheng ', 'Tu ', 'Tang ', 'Que ', 
'Zhong ', 'Li ', 'Peng ', 'Bang ', 'Sai ', 'Zang ',
+'Dui ', 'Tian ', 'Wu ', 'Cheng ', 'Xun ', 'Ge ', 'Zhen ', 'Ai ', 'Gong ', 'Yan 
', 'Kan ', 'Tian ', 'Yuan ', 'Wen ', 'Xie ', 'Liu ',
+'Ama ', 'Lang ', 'Chang ', 'Peng ', 'Beng ', 'Chen ', 'Cu ', 'Lu ', 'Ou ', 
'Qian ', 'Mei ', 'Mo ', 'Zhuan ', 'Shuang ', 'Shu ', 'Lou ',
+'Chi ', 'Man ', 'Biao ', 'Jing ', 'Qi ', 'Shu ', 'Di ', 'Zhang ', 'Kan ', 
'Yong ', 'Dian ', 'Chen ', 'Zhi ', 'Xi ', 'Guo ', 'Qiang ',
+'Jin ', 'Di ', 'Shang ', 'Mu ', 'Cui ', 'Yan ', 'Ta ', 'Zeng ', 'Qi ', 'Qiang 
', 'Liang ', qq{[?] }, 'Zhui ', 'Qiao ', 'Zeng ', 'Xu ',
+'Shan ', 'Shan ', 'Ba ', 'Pu ', 'Kuai ', 'Dong ', 'Fan ', 'Que ', 'Mo ', 'Dun 
', 'Dun ', 'Dun ', 'Di ', 'Sheng ', 'Duo ', 'Duo ',
+'Tan ', 'Deng ', 'Wu ', 'Fen ', 'Huang ', 'Tan ', 'Da ', 'Ye ', 'Sho ', 'Mama 
', 'Yu ', 'Qiang ', 'Ji ', 'Qiao ', 'Ken ', 'Yi ',
+'Pi ', 'Bi ', 'Dian ', 'Jiang ', 'Ye ', 'Yong ', 'Bo ', 'Tan ', 'Lan ', 'Ju ', 
'Huai ', 'Dang ', 'Rang ', 'Qian ', 'Xun ', 'Lan ',
+'Xi ', 'He ', 'Ai ', 'Ya ', 'Dao ', 'Hao ', 'Ruan ', 'Mama ', 'Lei ', 'Kuang 
', 'Lu ', 'Yan ', 'Tan ', 'Wei ', 'Huai ', 'Long ',
+'Long ', 'Rui ', 'Li ', 'Lin ', 'Rang ', 'Ten ', 'Xun ', 'Yan ', 'Lei ', 'Ba 
', qq{[?] }, 'Shi ', 'Ren ', qq{[?] }, 'Zhuang ', 'Zhuang ',
+'Sheng ', 'Yi ', 'Mai ', 'Ke ', 'Zhu ', 'Zhuang ', 'Hu ', 'Hu ', 'Kun ', 'Yi 
', 'Hu ', 'Xu ', 'Kun ', 'Shou ', 'Mang ', 'Zun ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x59.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x59.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x59.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x59.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x59] = [
+'Shou ', 'Yi ', 'Zhi ', 'Gu ', 'Chu ', 'Jiang ', 'Feng ', 'Bei ', 'Cay ', 
'Bian ', 'Sui ', 'Qun ', 'Ling ', 'Fu ', 'Zuo ', 'Xia ',
+'Xiong ', qq{[?] }, 'Nao ', 'Xia ', 'Kui ', 'Xi ', 'Wai ', 'Yuan ', 'Mao ', 
'Su ', 'Duo ', 'Duo ', 'Ye ', 'Qing ', 'Uys ', 'Gou ',
+'Gou ', 'Qi ', 'Meng ', 'Meng ', 'Yin ', 'Huo ', 'Chen ', 'Da ', 'Ze ', 'Tian 
', 'Tai ', 'Fu ', 'Guai ', 'Yao ', 'Yang ', 'Hang ',
+'Gao ', 'Shi ', 'Ben ', 'Tai ', 'Tou ', 'Yan ', 'Bi ', 'Yi ', 'Kua ', 'Jia ', 
'Duo ', 'Kwu ', 'Kuang ', 'Yun ', 'Jia ', 'Pa ',
+'En ', 'Lian ', 'Huan ', 'Di ', 'Yan ', 'Pao ', 'Quan ', 'Qi ', 'Nai ', 'Feng 
', 'Xie ', 'Fen ', 'Dian ', qq{[?] }, 'Kui ', 'Zou ',
+'Huan ', 'Qi ', 'Kai ', 'Zha ', 'Ben ', 'Yi ', 'Jiang ', 'Tao ', 'Zang ', 'Ben 
', 'Xi ', 'Xiang ', 'Fei ', 'Diao ', 'Xun ', 'Keng ',
+'Dian ', 'Ao ', 'She ', 'Weng ', 'Pan ', 'Ao ', 'Wu ', 'Ao ', 'Jiang ', 'Lian 
', 'Duo ', 'Yun ', 'Jiang ', 'Shi ', 'Fen ', 'Huo ',
+'Bi ', 'Lian ', 'Duo ', 'Nu ', 'Nu ', 'Ding ', 'Nai ', 'Qian ', 'Jian ', 'Ta 
', 'Jiu ', 'Nan ', 'Cha ', 'Hao ', 'Xian ', 'Fan ',
+'Ji ', 'Shuo ', 'Ru ', 'Fei ', 'Wang ', 'Hong ', 'Zhuang ', 'Fu ', 'Ma ', 'Dan 
', 'Ren ', 'Fu ', 'Jing ', 'Yan ', 'Xie ', 'Wen ',
+'Zhong ', 'Pa ', 'Du ', 'Ji ', 'Keng ', 'Zhong ', 'Yao ', 'Jin ', 'Yun ', 
'Miao ', 'Pei ', 'Shi ', 'Yue ', 'Zhuang ', 'Niu ', 'Yan ',
+'Na ', 'Xin ', 'Fen ', 'Bi ', 'Yu ', 'Tuo ', 'Feng ', 'Yuan ', 'Fang ', 'Wu ', 
'Yu ', 'Gui ', 'Du ', 'Ba ', 'Ni ', 'Zhou ',
+'Zhuo ', 'Zhao ', 'Da ', 'Nai ', 'Yuan ', 'Tou ', 'Xuan ', 'Zhi ', 'E ', 'Mei 
', 'Mo ', 'Qi ', 'Bi ', 'Shen ', 'Qie ', 'E ',
+'He ', 'Xu ', 'Fa ', 'Zheng ', 'Min ', 'Ban ', 'Mu ', 'Fu ', 'Ling ', 'Zi ', 
'Zi ', 'Shi ', 'Ran ', 'Shan ', 'Yang ', 'Man ',
+'Jie ', 'Gu ', 'Si ', 'Xing ', 'Wei ', 'Zi ', 'Ju ', 'Shan ', 'Pin ', 'Ren ', 
'Yao ', 'Tong ', 'Jiang ', 'Shu ', 'Ji ', 'Gai ',
+'Shang ', 'Kuo ', 'Juan ', 'Jiao ', 'Gou ', 'Mu ', 'Jian ', 'Jian ', 'Yi ', 
'Nian ', 'Zhi ', 'Ji ', 'Ji ', 'Xian ', 'Heng ', 'Guang ',
+'Jun ', 'Kua ', 'Yan ', 'Ming ', 'Lie ', 'Pei ', 'Yan ', 'You ', 'Yan ', 'Cha 
', 'Shen ', 'Yin ', 'Chi ', 'Gui ', 'Quan ', 'Zi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5a.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5a.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5a.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5a.pm       12 Oct 2011 
23:50:57 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x5a] = [
+'Song ', 'Wei ', 'Hong ', 'Wa ', 'Lou ', 'Ya ', 'Rao ', 'Jiao ', 'Luan ', 
'Ping ', 'Xian ', 'Shao ', 'Li ', 'Cheng ', 'Xiao ', 'Mang ',
+'Fu ', 'Suo ', 'Wu ', 'Wei ', 'Ke ', 'Lai ', 'Chuo ', 'Ding ', 'Niang ', 'Xing 
', 'Nan ', 'Yu ', 'Nuo ', 'Pei ', 'Nei ', 'Juan ',
+'Shen ', 'Zhi ', 'Han ', 'Di ', 'Zhuang ', 'E ', 'Pin ', 'Tui ', 'Han ', 'Mian 
', 'Wu ', 'Yan ', 'Wu ', 'Xi ', 'Yan ', 'Yu ',
+'Si ', 'Yu ', 'Wa ', qq{[?] }, 'Xian ', 'Ju ', 'Qu ', 'Shui ', 'Qi ', 'Xian ', 
'Zhui ', 'Dong ', 'Chang ', 'Lu ', 'Ai ', 'E ',
+'E ', 'Lou ', 'Mian ', 'Cong ', 'Pou ', 'Ju ', 'Po ', 'Cai ', 'Ding ', 'Wan ', 
'Biao ', 'Xiao ', 'Shu ', 'Qi ', 'Hui ', 'Fu ',
+'E ', 'Wo ', 'Tan ', 'Fei ', 'Wei ', 'Jie ', 'Tian ', 'Ni ', 'Quan ', 'Jing ', 
'Hun ', 'Jing ', 'Qian ', 'Dian ', 'Xing ', 'Hu ',
+'Wa ', 'Lai ', 'Bi ', 'Yin ', 'Chou ', 'Chuo ', 'Fu ', 'Jing ', 'Lun ', 'Yan 
', 'Lan ', 'Kun ', 'Yin ', 'Ya ', 'Ju ', 'Li ',
+'Dian ', 'Xian ', 'Hwa ', 'Hua ', 'Ying ', 'Chan ', 'Shen ', 'Ting ', 'Dang ', 
'Yao ', 'Wu ', 'Nan ', 'Ruo ', 'Jia ', 'Tou ', 'Xu ',
+'Yu ', 'Wei ', 'Ti ', 'Rou ', 'Mei ', 'Dan ', 'Ruan ', 'Qin ', 'Hui ', 'Wu ', 
'Qian ', 'Chun ', 'Mao ', 'Fu ', 'Jie ', 'Duan ',
+'Xi ', 'Zhong ', 'Mei ', 'Huang ', 'Mian ', 'An ', 'Ying ', 'Xuan ', 'Jie ', 
'Wei ', 'Mei ', 'Yuan ', 'Zhen ', 'Qiu ', 'Ti ', 'Xie ',
+'Tuo ', 'Lian ', 'Mao ', 'Ran ', 'Si ', 'Pian ', 'Wei ', 'Wa ', 'Jiu ', 'Hu ', 
'Ao ', qq{[?] }, 'Bou ', 'Xu ', 'Tou ', 'Gui ',
+'Zou ', 'Yao ', 'Pi ', 'Xi ', 'Yuan ', 'Ying ', 'Rong ', 'Ru ', 'Chi ', 'Liu 
', 'Mei ', 'Pan ', 'Ao ', 'Ma ', 'Gou ', 'Kui ',
+'Qin ', 'Jia ', 'Sao ', 'Zhen ', 'Yuan ', 'Cha ', 'Yong ', 'Ming ', 'Ying ', 
'Ji ', 'Su ', 'Niao ', 'Xian ', 'Tao ', 'Pang ', 'Lang ',
+'Nao ', 'Bao ', 'Ai ', 'Pi ', 'Pin ', 'Yi ', 'Piao ', 'Yu ', 'Lei ', 'Xuan ', 
'Man ', 'Yi ', 'Zhang ', 'Kang ', 'Yong ', 'Ni ',
+'Li ', 'Di ', 'Gui ', 'Yan ', 'Jin ', 'Zhuan ', 'Chang ', 'Ce ', 'Han ', 'Nen 
', 'Lao ', 'Mo ', 'Zhe ', 'Hu ', 'Hu ', 'Ao ',
+'Nen ', 'Qiang ', 'Ma ', 'Pie ', 'Gu ', 'Wu ', 'Jiao ', 'Tuo ', 'Zhan ', 'Mao 
', 'Xian ', 'Xian ', 'Mo ', 'Liao ', 'Lian ', 'Hua ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5b.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5b.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5b.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5b.pm       12 Oct 2011 
23:50:58 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x5b] = [
+'Gui ', 'Deng ', 'Zhi ', 'Xu ', 'Yi ', 'Hua ', 'Xi ', 'Hui ', 'Rao ', 'Xi ', 
'Yan ', 'Chan ', 'Jiao ', 'Mei ', 'Fan ', 'Fan ',
+'Xian ', 'Yi ', 'Wei ', 'Jiao ', 'Fu ', 'Shi ', 'Bi ', 'Shan ', 'Sui ', 'Qiang 
', 'Lian ', 'Huan ', 'Xin ', 'Niao ', 'Dong ', 'Yi ',
+'Can ', 'Ai ', 'Niang ', 'Neng ', 'Ma ', 'Tiao ', 'Chou ', 'Jin ', 'Ci ', 'Yu 
', 'Pin ', 'Yong ', 'Xu ', 'Nai ', 'Yan ', 'Tai ',
+'Ying ', 'Can ', 'Niao ', 'Wo ', 'Ying ', 'Mian ', 'Kaka ', 'Ma ', 'Shen ', 
'Xing ', 'Ni ', 'Du ', 'Liu ', 'Yuan ', 'Lan ', 'Yan ',
+'Shuang ', 'Ling ', 'Jiao ', 'Niang ', 'Lan ', 'Xian ', 'Ying ', 'Shuang ', 
'Shuai ', 'Quan ', 'Mi ', 'Li ', 'Luan ', 'Yan ', 'Zhu ', 'Lan ',
+'Zi ', 'Jie ', 'Jue ', 'Jue ', 'Kong ', 'Yun ', 'Zi ', 'Zi ', 'Cun ', 'Sun ', 
'Fu ', 'Bei ', 'Zi ', 'Xiao ', 'Xin ', 'Meng ',
+'Si ', 'Tai ', 'Bao ', 'Ji ', 'Gu ', 'Nu ', 'Xue ', qq{[?] }, 'Zhuan ', 'Hai 
', 'Luan ', 'Sun ', 'Huai ', 'Mie ', 'Cong ', 'Qian ',
+'Shu ', 'Chan ', 'Ya ', 'Zi ', 'Ni ', 'Fu ', 'Zi ', 'Li ', 'Xue ', 'Bo ', 'Ru 
', 'Lai ', 'Nie ', 'Nie ', 'Ying ', 'Luan ',
+'Mian ', 'Zhu ', 'Rong ', 'Ta ', 'Gui ', 'Zhai ', 'Qiong ', 'Yu ', 'Shou ', 
'An ', 'Tu ', 'Song ', 'Wan ', 'Rou ', 'Yao ', 'Hong ',
+'Yi ', 'Jing ', 'Zhun ', 'Mi ', 'Zhu ', 'Dang ', 'Hong ', 'Zong ', 'Guan ', 
'Zhou ', 'Ding ', 'Wan ', 'Yi ', 'Bao ', 'Shi ', 'Shi ',
+'Chong ', 'Shen ', 'Ke ', 'Xuan ', 'Shi ', 'You ', 'Huan ', 'Yi ', 'Tiao ', 
'Shi ', 'Xian ', 'Gong ', 'Cheng ', 'Qun ', 'Gong ', 'Xiao ',
+'Zai ', 'Zha ', 'Bao ', 'Hai ', 'Yan ', 'Xiao ', 'Jia ', 'Shen ', 'Chen ', 
'Rong ', 'Huang ', 'Mi ', 'Kou ', 'Kuan ', 'Bin ', 'Su ',
+'Cai ', 'Zan ', 'Ji ', 'Yuan ', 'Ji ', 'Yin ', 'Mi ', 'Kou ', 'Qing ', 'Que ', 
'Zhen ', 'Jian ', 'Fu ', 'Ning ', 'Bing ', 'Huan ',
+'Mei ', 'Qin ', 'Han ', 'Yu ', 'Shi ', 'Ning ', 'Qin ', 'Ning ', 'Zhi ', 'Yu 
', 'Bao ', 'Kuan ', 'Ning ', 'Qin ', 'Mo ', 'Cha ',
+'Ju ', 'Gua ', 'Qin ', 'Hu ', 'Wu ', 'Liao ', 'Shi ', 'Zhu ', 'Zhai ', 'Shen 
', 'Wei ', 'Xie ', 'Kuan ', 'Hui ', 'Liao ', 'Jun ',
+'Huan ', 'Yi ', 'Yi ', 'Bao ', 'Qin ', 'Chong ', 'Bao ', 'Feng ', 'Cun ', 'Dui 
', 'Si ', 'Xun ', 'Dao ', 'Lu ', 'Dui ', 'Shou ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5c.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5c.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5c.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5c.pm       12 Oct 2011 
23:50:58 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x5c] = [
+'Po ', 'Feng ', 'Zhuan ', 'Fu ', 'She ', 'Ke ', 'Jiang ', 'Jiang ', 'Zhuan ', 
'Wei ', 'Zun ', 'Xun ', 'Shu ', 'Dui ', 'Dao ', 'Xiao ',
+'Ji ', 'Shao ', 'Er ', 'Er ', 'Er ', 'Ga ', 'Jian ', 'Shu ', 'Chen ', 'Shang 
', 'Shang ', 'Mo ', 'Ga ', 'Chang ', 'Liao ', 'Xian ',
+'Xian ', qq{[?] }, 'Wang ', 'Wang ', 'You ', 'Liao ', 'Liao ', 'Yao ', 'Mang 
', 'Wang ', 'Wang ', 'Wang ', 'Ga ', 'Yao ', 'Duo ', 'Kui ',
+'Zhong ', 'Jiu ', 'Gan ', 'Gu ', 'Gan ', 'Tui ', 'Gan ', 'Gan ', 'Shi ', 'Yin 
', 'Chi ', 'Kao ', 'Ni ', 'Jin ', 'Wei ', 'Niao ',
+'Ju ', 'Pi ', 'Ceng ', 'Xi ', 'Bi ', 'Ju ', 'Jie ', 'Tian ', 'Qu ', 'Ti ', 
'Jie ', 'Wu ', 'Diao ', 'Shi ', 'Shi ', 'Ping ',
+'Ji ', 'Xie ', 'Chen ', 'Xi ', 'Ni ', 'Zhan ', 'Xi ', qq{[?] }, 'Man ', 'E ', 
'Lou ', 'Ping ', 'Ti ', 'Fei ', 'Shu ', 'Xie ',
+'Tu ', 'Lu ', 'Lu ', 'Xi ', 'Ceng ', 'Lu ', 'Ju ', 'Xie ', 'Ju ', 'Jue ', 
'Liao ', 'Jue ', 'Shu ', 'Xi ', 'Che ', 'Tun ',
+'Ni ', 'Shan ', qq{[?] }, 'Xian ', 'Li ', 'Xue ', 'Nata ', qq{[?] }, 'Long ', 
'Yi ', 'Qi ', 'Ren ', 'Wu ', 'Han ', 'Shen ', 'Yu ',
+'Chu ', 'Sui ', 'Qi ', qq{[?] }, 'Yue ', 'Ban ', 'Yao ', 'Ang ', 'Ya ', 'Wu ', 
'Jie ', 'E ', 'Ji ', 'Qian ', 'Fen ', 'Yuan ',
+'Qi ', 'Cen ', 'Qian ', 'Qi ', 'Cha ', 'Jie ', 'Qu ', 'Gang ', 'Xian ', 'Ao ', 
'Lan ', 'Dao ', 'Ba ', 'Zuo ', 'Zuo ', 'Yang ',
+'Ju ', 'Gang ', 'Ke ', 'Gou ', 'Xue ', 'Bei ', 'Li ', 'Tiao ', 'Ju ', 'Yan ', 
'Fu ', 'Xiu ', 'Jia ', 'Ling ', 'Tuo ', 'Pei ',
+'You ', 'Dai ', 'Kuang ', 'Yue ', 'Qu ', 'Hu ', 'Po ', 'Min ', 'An ', 'Tiao ', 
'Ling ', 'Chi ', 'Yuri ', 'Dong ', 'Cem ', 'Kui ',
+'Xiu ', 'Mao ', 'Tong ', 'Xue ', 'Yi ', 'Kura ', 'He ', 'Ke ', 'Luo ', 'E ', 
'Fu ', 'Xun ', 'Die ', 'Lu ', 'An ', 'Er ',
+'Gai ', 'Quan ', 'Tong ', 'Yi ', 'Mu ', 'Shi ', 'An ', 'Wei ', 'Hu ', 'Zhi ', 
'Mi ', 'Li ', 'Ji ', 'Tong ', 'Wei ', 'You ',
+'Sang ', 'Xia ', 'Li ', 'Yao ', 'Jiao ', 'Zheng ', 'Luan ', 'Jiao ', 'E ', 'E 
', 'Yu ', 'Ye ', 'Bu ', 'Qiao ', 'Qun ', 'Feng ',
+'Feng ', 'Nao ', 'Li ', 'You ', 'Xian ', 'Hong ', 'Dao ', 'Shen ', 'Cheng ', 
'Tu ', 'Geng ', 'Jun ', 'Hao ', 'Xia ', 'Yin ', 'Yu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5d.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5d.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5d.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5d.pm       12 Oct 2011 
23:50:59 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x5d] = [
+'Lang ', 'Kan ', 'Lao ', 'Lai ', 'Xian ', 'Que ', 'Kong ', 'Chong ', 'Chong ', 
'Ta ', 'Lin ', 'Hua ', 'Ju ', 'Lai ', 'Qi ', 'Min ',
+'Kun ', 'Kun ', 'Zu ', 'Gu ', 'Cui ', 'Ya ', 'Ya ', 'Gang ', 'Lun ', 'Lun ', 
'Leng ', 'Jue ', 'Duo ', 'Zheng ', 'Guo ', 'Yin ',
+'Dong ', 'Han ', 'Zheng ', 'Wei ', 'Yao ', 'Pi ', 'Yan ', 'Song ', 'Jie ', 
'Beng ', 'Zu ', 'Jue ', 'Dong ', 'Zhan ', 'Gu ', 'Yin ',
+qq{[?] }, 'Ze ', 'Huang ', 'Yu ', 'Wei ', 'Yang ', 'Feng ', 'Qiu ', 'Dun ', 
'Ti ', 'Yi ', 'Zhi ', 'Shi ', 'Zai ', 'Yao ', 'E ',
+'Zhu ', 'Kan ', 'Lu ', 'Yan ', 'Mei ', 'Gan ', 'Ji ', 'Ji ', 'Huan ', 'Ting ', 
'Sheng ', 'Mei ', 'Qian ', 'Wu ', 'Yu ', 'Zong ',
+'Lan ', 'Jue ', 'Yan ', 'Yan ', 'Wei ', 'Zong ', 'Cha ', 'Sui ', 'Rong ', 
'Yamashina ', 'Qin ', 'Yu ', 'Kewashii ', 'Lou ', 'Tu ', 'Dui ',
+'Xi ', 'Weng ', 'Cang ', 'Dang ', 'Hong ', 'Jie ', 'Ai ', 'Liu ', 'Wu ', 'Song 
', 'Qiao ', 'Zi ', 'Wei ', 'Beng ', 'Dian ', 'Cuo ',
+'Qian ', 'Yong ', 'Nie ', 'Cuo ', 'Ji ', qq{[?] }, 'Tao ', 'Song ', 'Zong ', 
'Jiang ', 'Liao ', 'Kang ', 'Chan ', 'Die ', 'Cen ', 'Ding ',
+'Tu ', 'Lou ', 'Zhang ', 'Zhan ', 'Zhan ', 'Ao ', 'Cao ', 'Qu ', 'Qiang ', 
'Zui ', 'Zui ', 'Dao ', 'Dao ', 'Xi ', 'Yu ', 'Bo ',
+'Long ', 'Xiang ', 'Ceng ', 'Bo ', 'Qin ', 'Jiao ', 'Yan ', 'Lao ', 'Zhan ', 
'Lin ', 'Liao ', 'Liao ', 'Jin ', 'Deng ', 'Duo ', 'Zun ',
+'Jiao ', 'Gui ', 'Yao ', 'Qiao ', 'Yao ', 'Jue ', 'Zhan ', 'Yi ', 'Xue ', 'Nao 
', 'Ye ', 'Ye ', 'Yi ', 'E ', 'Xian ', 'Ji ',
+'Xie ', 'Ke ', 'Xi ', 'Di ', 'Ao ', 'Zui ', qq{[?] }, 'Ni ', 'Rong ', 'Dao ', 
'Ling ', 'Za ', 'Yu ', 'Yue ', 'Yin ', qq{[?] },
+'Jie ', 'Li ', 'Sui ', 'Long ', 'Long ', 'Dian ', 'Ying ', 'Xi ', 'Ju ', 'Chan 
', 'Ying ', 'Kui ', 'Yan ', 'Wei ', 'Nao ', 'Quan ',
+'Chao ', 'Cuan ', 'Luan ', 'Dian ', 'Dian ', qq{[?] }, 'Yan ', 'Yan ', 'Yan ', 
'Nao ', 'Yan ', 'Chuan ', 'Gui ', 'Chuan ', 'Zhou ', 'Huang ',
+'Jing ', 'Xun ', 'Chao ', 'Chao ', 'Lie ', 'Gong ', 'Zuo ', 'Qiao ', 'Ju ', 
'Gong ', 'Kek ', 'Wu ', 'Pwu ', 'Pwu ', 'Chai ', 'Qiu ',
+'Qiu ', 'Ji ', 'Yi ', 'Si ', 'Ba ', 'Zhi ', 'Zhao ', 'Xiang ', 'Yi ', 'Jin ', 
'Xun ', 'Juan ', 'Phas ', 'Xun ', 'Jin ', 'Fu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5e.pm       12 Oct 2011 
23:51:00 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x5e] = [
+'Za ', 'Bi ', 'Shi ', 'Bu ', 'Ding ', 'Shuai ', 'Fan ', 'Nie ', 'Shi ', 'Fen 
', 'Pa ', 'Zhi ', 'Xi ', 'Hu ', 'Dan ', 'Wei ',
+'Zhang ', 'Tang ', 'Dai ', 'Ma ', 'Pei ', 'Pa ', 'Tie ', 'Fu ', 'Lian ', 'Zhi 
', 'Zhou ', 'Bo ', 'Zhi ', 'Di ', 'Mo ', 'Yi ',
+'Yi ', 'Ping ', 'Qia ', 'Juan ', 'Ru ', 'Shuai ', 'Dai ', 'Zheng ', 'Shui ', 
'Qiao ', 'Zhen ', 'Shi ', 'Qun ', 'Xi ', 'Bang ', 'Dai ',
+'Gui ', 'Chou ', 'Ping ', 'Zhang ', 'Sha ', 'Wan ', 'Dai ', 'Wei ', 'Chang ', 
'Sha ', 'Qi ', 'Ze ', 'Guo ', 'Mao ', 'Du ', 'Hou ',
+'Zheng ', 'Xu ', 'Mi ', 'Wei ', 'Wo ', 'Fu ', 'Yi ', 'Bang ', 'Ping ', 'Tazuna 
', 'Gong ', 'Pan ', 'Huang ', 'Dao ', 'Mi ', 'Jia ',
+'Teng ', 'Hui ', 'Zhong ', 'Shan ', 'Man ', 'Mu ', 'Biao ', 'Guo ', 'Ze ', 'Mu 
', 'Bang ', 'Zhang ', 'Jiong ', 'Chan ', 'Fu ', 'Zhi ',
+'Hu ', 'Fan ', 'Chuang ', 'Bi ', 'Hei ', qq{[?] }, 'Mi ', 'Qiao ', 'Chan ', 
'Fen ', 'Meng ', 'Bang ', 'Chou ', 'Mie ', 'Chu ', 'Jie ',
+'Xian ', 'Lan ', 'Gan ', 'Ping ', 'Nian ', 'Qian ', 'Bing ', 'Bing ', 'Xing ', 
'Gan ', 'Yao ', 'Huan ', 'You ', 'You ', 'Ji ', 'Yan ',
+'Pi ', 'Ting ', 'Ze ', 'Guang ', 'Zhuang ', 'Mo ', 'Qing ', 'Bi ', 'Qin ', 
'Dun ', 'Chuang ', 'Gui ', 'Ya ', 'Bai ', 'Jie ', 'Xu ',
+'Lu ', 'Wu ', qq{[?] }, 'Ku ', 'Ying ', 'Di ', 'Pao ', 'Dian ', 'Ya ', 'Miao 
', 'Geng ', 'Ci ', 'Fu ', 'Tong ', 'Pang ', 'Fei ',
+'Xiang ', 'Yi ', 'Zhi ', 'Tiao ', 'Zhi ', 'Xiu ', 'Du ', 'Zuo ', 'Xiao ', 'Tu 
', 'Gui ', 'Ku ', 'Pang ', 'Ting ', 'You ', 'Bu ',
+'Ding ', 'Cheng ', 'Lai ', 'Bei ', 'Ji ', 'An ', 'Shu ', 'Kang ', 'Yong ', 
'Tuo ', 'Song ', 'Shu ', 'Qing ', 'Yu ', 'Yu ', 'Miao ',
+'Sou ', 'Ce ', 'Xiang ', 'Fei ', 'Jiu ', 'He ', 'Hui ', 'Liu ', 'Sha ', 'Lian 
', 'Lang ', 'Sou ', 'Jian ', 'Pou ', 'Qing ', 'Jiu ',
+'Jiu ', 'Qin ', 'Ao ', 'Kuo ', 'Lou ', 'Yin ', 'Liao ', 'Dai ', 'Lu ', 'Yi ', 
'Chu ', 'Chan ', 'Tu ', 'Si ', 'Xin ', 'Miao ',
+'Chang ', 'Wu ', 'Fei ', 'Guang ', 'Koc ', 'Kuai ', 'Bi ', 'Qiang ', 'Xie ', 
'Lin ', 'Lin ', 'Liao ', 'Lu ', qq{[?] }, 'Ying ', 'Xian ',
+'Ting ', 'Yong ', 'Li ', 'Ting ', 'Yin ', 'Xun ', 'Yan ', 'Ting ', 'Di ', 'Po 
', 'Jian ', 'Hui ', 'Nai ', 'Hui ', 'Gong ', 'Nian ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x5f.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x5f] = [
+'Kai ', 'Bian ', 'Yi ', 'Qi ', 'Nong ', 'Fen ', 'Ju ', 'Yan ', 'Yi ', 'Zang ', 
'Bi ', 'Yi ', 'Yi ', 'Er ', 'San ', 'Shi ',
+'Er ', 'Shi ', 'Shi ', 'Gong ', 'Diao ', 'Yin ', 'Hu ', 'Fu ', 'Hong ', 'Wu ', 
'Tui ', 'Chi ', 'Jiang ', 'Ba ', 'Shen ', 'Di ',
+'Zhang ', 'Jue ', 'Tao ', 'Fu ', 'Di ', 'Mi ', 'Xian ', 'Hu ', 'Chao ', 'Nu ', 
'Jing ', 'Zhen ', 'Yi ', 'Mi ', 'Quan ', 'Wan ',
+'Shao ', 'Ruo ', 'Xuan ', 'Jing ', 'Dun ', 'Zhang ', 'Jiang ', 'Qiang ', 'Peng 
', 'Dan ', 'Qiang ', 'Bi ', 'Bi ', 'She ', 'Dan ', 'Jian ',
+'Gou ', 'Sei ', 'Fa ', 'Bi ', 'Kou ', 'Nagi ', 'Bie ', 'Xiao ', 'Dan ', 'Kuo 
', 'Qiang ', 'Hong ', 'Mi ', 'Kuo ', 'Wan ', 'Jue ',
+'Ji ', 'Ji ', 'Gui ', 'Dang ', 'Lu ', 'Lu ', 'Tuan ', 'Hui ', 'Zhi ', 'Hui ', 
'Hui ', 'Yi ', 'Yi ', 'Yi ', 'Yi ', 'Huo ',
+'Huo ', 'Shan ', 'Xing ', 'Wen ', 'Tong ', 'Yan ', 'Yan ', 'Yu ', 'Chi ', 'Cai 
', 'Biao ', 'Diao ', 'Bin ', 'Peng ', 'Yong ', 'Piao ',
+'Zhang ', 'Ying ', 'Chi ', 'Chi ', 'Zhuo ', 'Tuo ', 'Ji ', 'Pang ', 'Zhong ', 
'Yi ', 'Wang ', 'Che ', 'Bi ', 'Chi ', 'Ling ', 'Fu ',
+'Wang ', 'Zheng ', 'Cu ', 'Wang ', 'Jing ', 'Dai ', 'Xi ', 'Xun ', 'Hen ', 
'Yang ', 'Huai ', 'Lu ', 'Hou ', 'Wa ', 'Cheng ', 'Zhi ',
+'Xu ', 'Jing ', 'Tu ', 'Cong ', qq{[?] }, 'Lai ', 'Cong ', 'De ', 'Pai ', 'Xi 
', qq{[?] }, 'Qi ', 'Chang ', 'Zhi ', 'Cong ', 'Zhou ',
+'Lai ', 'Yu ', 'Xie ', 'Jie ', 'Jian ', 'Chi ', 'Jia ', 'Bian ', 'Huang ', 'Fu 
', 'Xun ', 'Wei ', 'Pang ', 'Yao ', 'Wei ', 'Xi ',
+'Zheng ', 'Piao ', 'Chi ', 'De ', 'Zheng ', 'Zheng ', 'Bie ', 'De ', 'Chong ', 
'Che ', 'Jiao ', 'Wei ', 'Jiao ', 'Hui ', 'Mei ', 'Long ',
+'Xiang ', 'Bao ', 'Qu ', 'Xin ', 'Shu ', 'Bi ', 'Yi ', 'Le ', 'Ren ', 'Dao ', 
'Ding ', 'Gai ', 'Ji ', 'Ren ', 'Ren ', 'Chan ',
+'Tan ', 'Te ', 'Te ', 'Gan ', 'Qi ', 'Shi ', 'Cun ', 'Zhi ', 'Wang ', 'Mang ', 
'Xi ', 'Fan ', 'Ying ', 'Tian ', 'Min ', 'Min ',
+'Zhong ', 'Chong ', 'Wu ', 'Ji ', 'Wu ', 'Xi ', 'Ye ', 'You ', 'Wan ', 'Cong 
', 'Zhong ', 'Kuai ', 'Yu ', 'Bian ', 'Zhi ', 'Qi ',
+'Cui ', 'Chen ', 'Tai ', 'Tun ', 'Qian ', 'Nian ', 'Hun ', 'Xiong ', 'Niu ', 
'Wang ', 'Xian ', 'Xin ', 'Kang ', 'Hu ', 'Kai ', 'Fen ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x60.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x60.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x60.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x60.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x60] = [
+'Huai ', 'Tai ', 'Song ', 'Wu ', 'Ou ', 'Chang ', 'Chuang ', 'Ju ', 'Yi ', 
'Bao ', 'Chao ', 'Min ', 'Pei ', 'Zuo ', 'Zen ', 'Yang ',
+'Kou ', 'Ban ', 'Nu ', 'Nao ', 'Zheng ', 'Pa ', 'Bu ', 'Tie ', 'Gu ', 'Hu ', 
'Ju ', 'Da ', 'Lian ', 'Si ', 'Chou ', 'Di ',
+'Dai ', 'Yi ', 'Tu ', 'You ', 'Fu ', 'Ji ', 'Peng ', 'Xing ', 'Yuan ', 'Ni ', 
'Guai ', 'Fu ', 'Xi ', 'Bi ', 'You ', 'Qie ',
+'Xuan ', 'Cong ', 'Bing ', 'Huang ', 'Xu ', 'Chu ', 'Pi ', 'Xi ', 'Xi ', 'Tan 
', 'Koraeru ', 'Zong ', 'Dui ', qq{[?] }, 'Ki ', 'Yi ',
+'Chi ', 'Ren ', 'Xun ', 'Shi ', 'Xi ', 'Lao ', 'Heng ', 'Kuang ', 'Mu ', 'Zhi 
', 'Xie ', 'Lian ', 'Tiao ', 'Huang ', 'Die ', 'Hao ',
+'Kong ', 'Gui ', 'Heng ', 'Xi ', 'Xiao ', 'Shu ', 'S ', 'Kua ', 'Qiu ', 'Yang 
', 'Hui ', 'Hui ', 'Chi ', 'Jia ', 'Yi ', 'Xiong ',
+'Guai ', 'Lin ', 'Hui ', 'Zi ', 'Xu ', 'Chi ', 'Xiang ', 'Nu ', 'Hen ', 'En ', 
'Ke ', 'Tong ', 'Tian ', 'Gong ', 'Quan ', 'Xi ',
+'Qia ', 'Yue ', 'Peng ', 'Ken ', 'De ', 'Hui ', 'E ', 'Kyuu ', 'Tong ', 'Yan 
', 'Kai ', 'Ce ', 'Nao ', 'Yun ', 'Mang ', 'Yong ',
+'Yong ', 'Yuan ', 'Pi ', 'Kun ', 'Qiao ', 'Yue ', 'Yu ', 'Yu ', 'Jie ', 'Xi ', 
'Zhe ', 'Lin ', 'Ti ', 'Han ', 'Hao ', 'Qie ',
+'Ti ', 'Bu ', 'Yi ', 'Qian ', 'Hui ', 'Xi ', 'Bei ', 'Man ', 'Yi ', 'Heng ', 
'Song ', 'Quan ', 'Cheng ', 'Hui ', 'Wu ', 'Wu ',
+'You ', 'Li ', 'Liang ', 'Huan ', 'Cong ', 'Yi ', 'Yue ', 'Li ', 'Nin ', 'Nao 
', 'E ', 'Que ', 'Xuan ', 'Qian ', 'Wu ', 'Min ',
+'Cong ', 'Fei ', 'Bei ', 'Duo ', 'Cui ', 'Chang ', 'Men ', 'Li ', 'Ji ', 'Guan 
', 'Guan ', 'Xing ', 'Dao ', 'Qi ', 'Kong ', 'Tian ',
+'Lun ', 'Xi ', 'Kan ', 'Kun ', 'Ni ', 'Qing ', 'Chou ', 'Dun ', 'Guo ', 'Chan 
', 'Liang ', 'Wan ', 'Yuan ', 'Jin ', 'Ji ', 'Lin ',
+'Yu ', 'Huo ', 'He ', 'Quan ', 'Tan ', 'Ti ', 'Ti ', 'Nie ', 'Wang ', 'Chuo ', 
'Bu ', 'Hun ', 'Xi ', 'Tang ', 'Xin ', 'Wei ',
+'Hui ', 'E ', 'Rui ', 'Zong ', 'Jian ', 'Yong ', 'Dian ', 'Ju ', 'Can ', 
'Cheng ', 'De ', 'Bei ', 'Qie ', 'Can ', 'Dan ', 'Guan ',
+'Duo ', 'Nao ', 'Yun ', 'Xiang ', 'Zhui ', 'Die ', 'Huang ', 'Chun ', 'Qiong 
', 'Re ', 'Xing ', 'Ce ', 'Bian ', 'Hun ', 'Zong ', 'Ti ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x61.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x61.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x61.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x61.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x61] = [
+'Qiao ', 'Chou ', 'Bei ', 'Xuan ', 'Wei ', 'Ge ', 'Qian ', 'Wei ', 'Yu ', 'Yu 
', 'Bi ', 'Xuan ', 'Huan ', 'Min ', 'Bi ', 'Yi ',
+'Mian ', 'Yong ', 'Kai ', 'Dang ', 'Yin ', 'E ', 'Chen ', 'Mou ', 'Ke ', 'Ke 
', 'Yu ', 'Ai ', 'Qie ', 'Yan ', 'Nuo ', 'Gan ',
+'Yun ', 'Zong ', 'Sai ', 'Leng ', 'Fen ', qq{[?] }, 'Kui ', 'Kui ', 'Que ', 
'Gong ', 'Yun ', 'Su ', 'Su ', 'Qi ', 'Yao ', 'Song ',
+'Huang ', 'Ji ', 'Gu ', 'Ju ', 'Chuang ', 'Ni ', 'Xie ', 'Kai ', 'Zheng ', 
'Yong ', 'Cao ', 'Sun ', 'Shen ', 'Bo ', 'Kai ', 'Yuan ',
+'Xie ', 'Hun ', 'Yong ', 'Yang ', 'Li ', 'Sao ', 'Tao ', 'Yin ', 'Ci ', 'Xu ', 
'Qian ', 'Tai ', 'Huang ', 'Yun ', 'Shen ', 'Ming ',
+qq{[?] }, 'She ', 'Cong ', 'Piao ', 'Mo ', 'Mu ', 'Guo ', 'Chi ', 'Can ', 'Can 
', 'Can ', 'Cui ', 'Min ', 'Te ', 'Zhang ', 'Tong ',
+'Ao ', 'Shuang ', 'Man ', 'Guan ', 'Que ', 'Zao ', 'Jiu ', 'Hui ', 'Kai ', 
'Lian ', 'Ou ', 'Song ', 'Jin ', 'Yin ', 'Lu ', 'Shang ',
+'Wei ', 'Tuan ', 'Man ', 'Qian ', 'She ', 'Yong ', 'Qing ', 'Kang ', 'Di ', 
'Zhi ', 'Lou ', 'Juan ', 'Qi ', 'Qi ', 'Yu ', 'Ping ',
+'Liao ', 'Cong ', 'You ', 'Chong ', 'Zhi ', 'Tong ', 'Cheng ', 'Qi ', 'Qu ', 
'Peng ', 'Bei ', 'Bie ', 'Chun ', 'Jiao ', 'Zeng ', 'Chi ',
+'Lian ', 'Ping ', 'Kui ', 'Hui ', 'Qiao ', 'Cheng ', 'Yin ', 'Yin ', 'Xi ', 
'Xi ', 'Dan ', 'Tan ', 'Duo ', 'Dui ', 'Dui ', 'Su ',
+'Jue ', 'Ce ', 'Xiao ', 'Fan ', 'Fen ', 'Lao ', 'Lao ', 'Chong ', 'Han ', 'Qi 
', 'Xian ', 'Min ', 'Jing ', 'Liao ', 'Wu ', 'Can ',
+'Jue ', 'Cu ', 'Xian ', 'Tan ', 'Sheng ', 'Pi ', 'Yi ', 'Chu ', 'Xian ', 'Nao 
', 'Dan ', 'Tan ', 'Jing ', 'Song ', 'Han ', 'Jiao ',
+'Wai ', 'Huan ', 'Dong ', 'Qin ', 'Qin ', 'Qu ', 'Cao ', 'Ken ', 'Xie ', 'Ying 
', 'Ao ', 'Mao ', 'Yi ', 'Lin ', 'Se ', 'Jun ',
+'Huai ', 'Men ', 'Lan ', 'Ai ', 'Lin ', 'Yan ', 'Gua ', 'Xia ', 'Chi ', 'Yu ', 
'Yin ', 'Dai ', 'Meng ', 'Ai ', 'Meng ', 'Dui ',
+'Qi ', 'Mo ', 'Lan ', 'Men ', 'Chou ', 'Zhi ', 'Nuo ', 'Nuo ', 'Yan ', 'Yang 
', 'Bo ', 'Zhi ', 'Kuang ', 'Kuang ', 'You ', 'Fu ',
+'Liu ', 'Mie ', 'Cheng ', qq{[?] }, 'Chan ', 'Meng ', 'Lan ', 'Huai ', 'Xuan 
', 'Rang ', 'Chan ', 'Ji ', 'Ju ', 'Huan ', 'She ', 'Yi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x62.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x62.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x62.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x62.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x62] = [
+'Lian ', 'Nan ', 'Mi ', 'Tang ', 'Jue ', 'Gang ', 'Gang ', 'Gang ', 'Ge ', 
'Yue ', 'Wu ', 'Jian ', 'Xu ', 'Shu ', 'Rong ', 'Xi ',
+'Cheng ', 'Wo ', 'Jie ', 'Ge ', 'Jian ', 'Qiang ', 'Huo ', 'Qiang ', 'Zhan ', 
'Dong ', 'Qi ', 'Jia ', 'Die ', 'Zei ', 'Jia ', 'Ji ',
+'Shi ', 'Kan ', 'Ji ', 'Kui ', 'Gai ', 'Deng ', 'Zhan ', 'Chuang ', 'Ge ', 
'Jian ', 'Jie ', 'Yu ', 'Jian ', 'Yan ', 'Lu ', 'Xi ',
+'Zhan ', 'Xi ', 'Xi ', 'Chuo ', 'Dai ', 'Qu ', 'Hu ', 'Hu ', 'Hu ', 'E ', 'Shi 
', 'Li ', 'Mao ', 'Hu ', 'Li ', 'Fang ',
+'Suo ', 'Bian ', 'Dian ', 'Jiong ', 'Shang ', 'Yi ', 'Yi ', 'Shan ', 'Hu ', 
'Fei ', 'Yan ', 'Shou ', 'T ', 'Cai ', 'Zha ', 'Qiu ',
+'Le ', 'Bu ', 'Ba ', 'Da ', 'Reng ', 'Fu ', 'Hameru ', 'Zai ', 'Tuo ', 'Zhang 
', 'Diao ', 'Kang ', 'Yu ', 'Ku ', 'Han ', 'Shen ',
+'Cha ', 'Yi ', 'Gu ', 'Kou ', 'Wu ', 'Tuo ', 'Qian ', 'Zhi ', 'Ren ', 'Kuo ', 
'Men ', 'Sao ', 'Yang ', 'Niu ', 'Ban ', 'Che ',
+'Rao ', 'Xi ', 'Qian ', 'Ban ', 'Jia ', 'Yu ', 'Fu ', 'Ao ', 'Xi ', 'Pi ', 
'Zhi ', 'Zi ', 'E ', 'Dun ', 'Zhao ', 'Cheng ',
+'Ji ', 'Yan ', 'Kuang ', 'Bian ', 'Chao ', 'Ju ', 'Wen ', 'Hu ', 'Yue ', 'Jue 
', 'Ba ', 'Qin ', 'Zhen ', 'Zheng ', 'Yun ', 'Wan ',
+'Nu ', 'Yi ', 'Shu ', 'Zhua ', 'Pou ', 'Tou ', 'Dou ', 'Kang ', 'Zhe ', 'Pou 
', 'Fu ', 'Pao ', 'Ba ', 'Ao ', 'Ze ', 'Tuan ',
+'Kou ', 'Lun ', 'Qiang ', qq{[?] }, 'Hu ', 'Bao ', 'Bing ', 'Zhi ', 'Peng ', 
'Tan ', 'Pu ', 'Pi ', 'Tai ', 'Yao ', 'Zhen ', 'Zha ',
+'Yang ', 'Bao ', 'He ', 'Ni ', 'Yi ', 'Di ', 'Chi ', 'Pi ', 'Za ', 'Mo ', 'Mo 
', 'Shen ', 'Ya ', 'Chou ', 'Qu ', 'Min ',
+'Chu ', 'Jia ', 'Fu ', 'Zhan ', 'Zhu ', 'Dan ', 'Chai ', 'Mu ', 'Nian ', 'La 
', 'Fu ', 'Pao ', 'Ban ', 'Pai ', 'Ling ', 'Na ',
+'Guai ', 'Qian ', 'Ju ', 'Tuo ', 'Ba ', 'Tuo ', 'Tuo ', 'Ao ', 'Ju ', 'Zhuo ', 
'Pan ', 'Zhao ', 'Bai ', 'Bai ', 'Di ', 'Ni ',
+'Ju ', 'Kuo ', 'Long ', 'Jian ', qq{[?] }, 'Yong ', 'Lan ', 'Ning ', 'Bo ', 
'Ze ', 'Qian ', 'Hen ', 'Gua ', 'Shi ', 'Jie ', 'Zheng ',
+'Nin ', 'Gong ', 'Gong ', 'Quan ', 'Shuan ', 'Cun ', 'Zan ', 'Kao ', 'Chi ', 
'Xie ', 'Ce ', 'Hui ', 'Pin ', 'Zhuai ', 'Shi ', 'Na ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x63.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x63.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x63.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x63.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x63] = [
+'Bo ', 'Chi ', 'Gua ', 'Zhi ', 'Kuo ', 'Duo ', 'Duo ', 'Zhi ', 'Qie ', 'An ', 
'Nong ', 'Zhen ', 'Ge ', 'Jiao ', 'Ku ', 'Dong ',
+'Ru ', 'Tiao ', 'Lie ', 'Zha ', 'Lu ', 'Die ', 'Wa ', 'Jue ', 'Mushiru ', 'Ju 
', 'Zhi ', 'Luan ', 'Ya ', 'Zhua ', 'Ta ', 'Xie ',
+'Nao ', 'Dang ', 'Jiao ', 'Zheng ', 'Ji ', 'Hui ', 'Xun ', 'Ku ', 'Ai ', 'Tuo 
', 'Nuo ', 'Cuo ', 'Bo ', 'Geng ', 'Ti ', 'Zhen ',
+'Cheng ', 'Suo ', 'Suo ', 'Keng ', 'Mei ', 'Long ', 'Ju ', 'Peng ', 'Jian ', 
'Yi ', 'Ting ', 'Shan ', 'Nuo ', 'Wan ', 'Xie ', 'Cha ',
+'Feng ', 'Jiao ', 'Wu ', 'Jun ', 'Jiu ', 'Tong ', 'Kun ', 'Huo ', 'Tu ', 'Zhuo 
', 'Pou ', 'Le ', 'Ba ', 'Han ', 'Shao ', 'Nie ',
+'Juan ', 'Ze ', 'Song ', 'Ye ', 'Jue ', 'Bu ', 'Huan ', 'Bu ', 'Zun ', 'Yi ', 
'Zhai ', 'Lu ', 'Sou ', 'Tuo ', 'Lao ', 'Sun ',
+'Bang ', 'Jian ', 'Huan ', 'Dao ', qq{[?] }, 'Wan ', 'Qin ', 'Peng ', 'She ', 
'Lie ', 'Min ', 'Men ', 'Fu ', 'Bai ', 'Ju ', 'Dao ',
+'Wo ', 'Ai ', 'Juan ', 'Yue ', 'Zong ', 'Chen ', 'Chui ', 'Jie ', 'Tu ', 'Ben 
', 'Na ', 'Nian ', 'Nuo ', 'Zu ', 'Wo ', 'Xi ',
+'Xian ', 'Cheng ', 'Dian ', 'Sao ', 'Lun ', 'Qing ', 'Gang ', 'Duo ', 'Shou ', 
'Diao ', 'Pou ', 'Di ', 'Zhang ', 'Gun ', 'Ji ', 'Tao ',
+'Qia ', 'Qi ', 'Pai ', 'Shu ', 'Qian ', 'Ling ', 'Yi ', 'Ya ', 'Jue ', 'Zheng 
', 'Liang ', 'Gua ', 'Yi ', 'Huo ', 'Shan ', 'Zheng ',
+'Lue ', 'Cai ', 'Tan ', 'Che ', 'Bing ', 'Jie ', 'Ti ', 'Kong ', 'Tui ', 'Yan 
', 'Cuo ', 'Zou ', 'Ju ', 'Tian ', 'Qian ', 'Ken ',
+'Bai ', 'Shou ', 'Jie ', 'Lu ', 'Guo ', 'Haba ', qq{[?] }, 'Zhi ', 'Dan ', 
'Mang ', 'Xian ', 'Sao ', 'Guan ', 'Peng ', 'Yuan ', 'Nuo ',
+'Jian ', 'Zhen ', 'Jiu ', 'Jian ', 'Yu ', 'Yan ', 'Kui ', 'Nan ', 'Hong ', 
'Rou ', 'Pi ', 'Wei ', 'Sai ', 'Zou ', 'Xuan ', 'Miao ',
+'Ti ', 'Nie ', 'Cha ', 'Shi ', 'Zong ', 'Zhen ', 'Yi ', 'Shun ', 'Heng ', 
'Bian ', 'Yang ', 'Huan ', 'Yan ', 'Zuan ', 'An ', 'Xu ',
+'Ya ', 'Wo ', 'Ke ', 'Chuai ', 'Ji ', 'Ti ', 'La ', 'La ', 'Cheng ', 'Kai ', 
'Jiu ', 'Jiu ', 'Tu ', 'Jie ', 'Hui ', 'Geng ',
+'Chong ', 'Shuo ', 'She ', 'Xie ', 'Yuan ', 'Qian ', 'Ye ', 'Cha ', 'Zha ', 
'Bei ', 'Yao ', qq{[?] }, qq{[?] }, 'Lan ', 'Wen ', 'Qin ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x64.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x64.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x64.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x64.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x64] = [
+'Chan ', 'Ge ', 'Lou ', 'Zong ', 'Geng ', 'Jiao ', 'Gou ', 'Qin ', 'Yong ', 
'Que ', 'Chou ', 'Chi ', 'Zhan ', 'Sun ', 'Sun ', 'Bo ',
+'Chu ', 'Rong ', 'Beng ', 'Cuo ', 'Sao ', 'Ke ', 'Yao ', 'Dao ', 'Zhi ', 'Nu 
', 'Xie ', 'Jian ', 'Sou ', 'Qiu ', 'Gao ', 'Xian ',
+'Shuo ', 'Sang ', 'Jin ', 'Mie ', 'E ', 'Chui ', 'Nuo ', 'Shan ', 'Ta ', 'Jie 
', 'Tang ', 'Pan ', 'Ban ', 'Da ', 'Li ', 'Tao ',
+'Hu ', 'Zhi ', 'Wa ', 'Xia ', 'Qian ', 'Wen ', 'Qiang ', 'Tian ', 'Zhen ', 'E 
', 'Xi ', 'Nuo ', 'Quan ', 'Cha ', 'Zha ', 'Ge ',
+'Wu ', 'En ', 'She ', 'Kang ', 'She ', 'Shu ', 'Bai ', 'Yao ', 'Bin ', 'Sou ', 
'Tan ', 'Sa ', 'Chan ', 'Suo ', 'Liao ', 'Chong ',
+'Chuang ', 'Guo ', 'Bing ', 'Feng ', 'Shuai ', 'Di ', 'Qi ', 'Sou ', 'Zhai ', 
'Lian ', 'Tang ', 'Chi ', 'Guan ', 'Lu ', 'Luo ', 'Lou ',
+'Zong ', 'Gai ', 'Hu ', 'Zha ', 'Chuang ', 'Tang ', 'Hua ', 'Cui ', 'Nai ', 
'Mo ', 'Jiang ', 'Gui ', 'Ying ', 'Zhi ', 'Ao ', 'Zhi ',
+'Nie ', 'Man ', 'Shan ', 'Kou ', 'Shu ', 'Suo ', 'Tuan ', 'Jiao ', 'Mo ', 'Mo 
', 'Zhe ', 'Xian ', 'Keng ', 'Piao ', 'Jiang ', 'Yin ',
+'Gou ', 'Qian ', 'Lue ', 'Ji ', 'Ying ', 'Jue ', 'Pie ', 'Pie ', 'Lao ', 'Dun 
', 'Xian ', 'Ruan ', 'Kui ', 'Zan ', 'Yi ', 'Xun ',
+'Cheng ', 'Cheng ', 'Sa ', 'Nao ', 'Heng ', 'Si ', 'Qian ', 'Huang ', 'Da ', 
'Zun ', 'Nian ', 'Lin ', 'Zheng ', 'Hui ', 'Zhuang ', 'Jiao ',
+'Ji ', 'Cao ', 'Dan ', 'Dan ', 'Che ', 'Bo ', 'Che ', 'Jue ', 'Xiao ', 'Liao 
', 'Ben ', 'Fu ', 'Qiao ', 'Bo ', 'Cuo ', 'Zhuo ',
+'Zhuan ', 'Tuo ', 'Pu ', 'Qin ', 'Dun ', 'Nian ', qq{[?] }, 'Xie ', 'Lu ', 
'Jiao ', 'Cuan ', 'Ta ', 'Han ', 'Qiao ', 'Zhua ', 'Jian ',
+'Gan ', 'Yong ', 'Lei ', 'Kuo ', 'Lu ', 'Shan ', 'Zhuo ', 'Ze ', 'Pu ', 'Chuo 
', 'Ji ', 'Dang ', 'Suo ', 'Cao ', 'Qing ', 'Jing ',
+'Huan ', 'Jie ', 'Qin ', 'Kuai ', 'Dan ', 'Xi ', 'Ge ', 'Pi ', 'Bo ', 'Ao ', 
'Ju ', 'Ye ', qq{[?] }, 'Mang ', 'Sou ', 'Mi ',
+'Ji ', 'Tai ', 'Zhuo ', 'Dao ', 'Xing ', 'Lan ', 'Ca ', 'Ju ', 'Ye ', 'Ru ', 
'Ye ', 'Ye ', 'Ni ', 'Hu ', 'Ji ', 'Bin ',
+'Ning ', 'Ge ', 'Zhi ', 'Jie ', 'Kuo ', 'Mo ', 'Jian ', 'Xie ', 'Lie ', 'Tan 
', 'Bai ', 'Sou ', 'Lu ', 'Lue ', 'Rao ', 'Zhi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x65.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x65.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x65.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x65.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x65] = [
+'Pan ', 'Yang ', 'Lei ', 'Sa ', 'Shu ', 'Zan ', 'Nian ', 'Xian ', 'Jun ', 'Huo 
', 'Li ', 'La ', 'Han ', 'Ying ', 'Lu ', 'Long ',
+'Qian ', 'Qian ', 'Zan ', 'Qian ', 'Lan ', 'San ', 'Ying ', 'Mei ', 'Rang ', 
'Chan ', qq{[?] }, 'Cuan ', 'Xi ', 'She ', 'Luo ', 'Jun ',
+'Mi ', 'Li ', 'Zan ', 'Luan ', 'Tan ', 'Zuan ', 'Li ', 'Dian ', 'Wa ', 'Dang 
', 'Jiao ', 'Jue ', 'Lan ', 'Li ', 'Nang ', 'Zhi ',
+'Gui ', 'Gui ', 'Qi ', 'Xin ', 'Pu ', 'Sui ', 'Shou ', 'Kao ', 'You ', 'Gai ', 
'Yi ', 'Gong ', 'Gan ', 'Ban ', 'Fang ', 'Zheng ',
+'Bo ', 'Dian ', 'Kou ', 'Min ', 'Wu ', 'Gu ', 'He ', 'Ce ', 'Xiao ', 'Mi ', 
'Chu ', 'Ge ', 'Di ', 'Xu ', 'Jiao ', 'Min ',
+'Chen ', 'Jiu ', 'Zhen ', 'Duo ', 'Yu ', 'Chi ', 'Ao ', 'Bai ', 'Xu ', 'Jiao 
', 'Duo ', 'Lian ', 'Nie ', 'Bi ', 'Chang ', 'Dian ',
+'Duo ', 'Yi ', 'Gan ', 'San ', 'Ke ', 'Yan ', 'Dun ', 'Qi ', 'Dou ', 'Xiao ', 
'Duo ', 'Jiao ', 'Jing ', 'Yang ', 'Xia ', 'Min ',
+'Shu ', 'Ai ', 'Qiao ', 'Ai ', 'Zheng ', 'Di ', 'Zhen ', 'Fu ', 'Shu ', 'Liao 
', 'Qu ', 'Xiong ', 'Xi ', 'Jiao ', 'Sen ', 'Jiao ',
+'Zhuo ', 'Yi ', 'Lian ', 'Bi ', 'Li ', 'Xiao ', 'Xiao ', 'Wen ', 'Xue ', 'Qi 
', 'Qi ', 'Zhai ', 'Bin ', 'Jue ', 'Zhai ', qq{[?] },
+'Fei ', 'Ban ', 'Ban ', 'Lan ', 'Yu ', 'Lan ', 'Wei ', 'Dou ', 'Sheng ', 'Liao 
', 'Jia ', 'Hu ', 'Xie ', 'Jia ', 'Yu ', 'Zhen ',
+'Jiao ', 'Wo ', 'Tou ', 'Chu ', 'Jin ', 'Chi ', 'Yin ', 'Fu ', 'Qiang ', 'Zhan 
', 'Qu ', 'Zhuo ', 'Zhan ', 'Duan ', 'Zhuo ', 'Si ',
+'Xin ', 'Zhuo ', 'Zhuo ', 'Qin ', 'Lin ', 'Zhuo ', 'Chu ', 'Duan ', 'Zhu ', 
'Fang ', 'Xie ', 'Hang ', 'Yu ', 'Shi ', 'Pei ', 'You ',
+'Mye ', 'Pang ', 'Qi ', 'Zhan ', 'Mao ', 'Lu ', 'Pei ', 'Pi ', 'Liu ', 'Fu ', 
'Fang ', 'Xuan ', 'Jing ', 'Jing ', 'Ni ', 'Zu ',
+'Zhao ', 'Yi ', 'Liu ', 'Shao ', 'Jian ', 'Es ', 'Yi ', 'Qi ', 'Zhi ', 'Fan ', 
'Piao ', 'Fan ', 'Zhan ', 'Guai ', 'Sui ', 'Yu ',
+'Wu ', 'Ji ', 'Ji ', 'Ji ', 'Huo ', 'Ri ', 'Dan ', 'Jiu ', 'Zhi ', 'Zao ', 
'Xie ', 'Tiao ', 'Xun ', 'Xu ', 'Xu ', 'Xu ',
+'Gan ', 'Han ', 'Tai ', 'Di ', 'Xu ', 'Chan ', 'Shi ', 'Kuang ', 'Yang ', 'Shi 
', 'Wang ', 'Min ', 'Min ', 'Tun ', 'Chun ', 'Wu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x66.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x66.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x66.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x66.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x66] = [
+'Yun ', 'Bei ', 'Ang ', 'Ze ', 'Ban ', 'Jie ', 'Kun ', 'Sheng ', 'Hu ', 'Fang 
', 'Hao ', 'Gui ', 'Chang ', 'Xuan ', 'Ming ', 'Hun ',
+'Fen ', 'Qin ', 'Hu ', 'Yi ', 'Xi ', 'Xin ', 'Yan ', 'Ze ', 'Fang ', 'Tan ', 
'Shen ', 'Ju ', 'Yang ', 'Zan ', 'Bing ', 'Xing ',
+'Ying ', 'Xuan ', 'Pei ', 'Zhen ', 'Ling ', 'Chun ', 'Hao ', 'Mei ', 'Zuo ', 
'Mo ', 'Bian ', 'Xu ', 'Hun ', 'Zhao ', 'Zong ', 'Shi ',
+'Shi ', 'Yu ', 'Fei ', 'Die ', 'Mao ', 'Ni ', 'Chang ', 'Wen ', 'Dong ', 'Ai 
', 'Bing ', 'Ang ', 'Zhou ', 'Long ', 'Xian ', 'Kuang ',
+'Tiao ', 'Chao ', 'Shi ', 'Huang ', 'Huang ', 'Xuan ', 'Kui ', 'Xu ', 'Jiao ', 
'Jin ', 'Zhi ', 'Jin ', 'Shang ', 'Tong ', 'Hong ', 'Yan ',
+'Gai ', 'Xiang ', 'Shai ', 'Xiao ', 'Ye ', 'Yun ', 'Hui ', 'Han ', 'Han ', 
'Jun ', 'Wan ', 'Xian ', 'Kun ', 'Zhou ', 'Xi ', 'Cheng ',
+'Sheng ', 'Bu ', 'Zhe ', 'Zhe ', 'Wu ', 'Han ', 'Hui ', 'Hao ', 'Chen ', 'Wan 
', 'Tian ', 'Zhuo ', 'Zui ', 'Zhou ', 'Pu ', 'Jing ',
+'Xi ', 'Shan ', 'Yi ', 'Xi ', 'Qing ', 'Qi ', 'Jing ', 'Gui ', 'Zhen ', 'Yi ', 
'Zhi ', 'An ', 'Wan ', 'Lin ', 'Liang ', 'Chang ',
+'Wang ', 'Xiao ', 'Zan ', 'Hi ', 'Xuan ', 'Xuan ', 'Yi ', 'Xia ', 'Yun ', 'Hui 
', 'Fu ', 'Min ', 'Kui ', 'He ', 'Ying ', 'Du ',
+'Wei ', 'Shu ', 'Qing ', 'Mao ', 'Nan ', 'Jian ', 'Nuan ', 'An ', 'Yang ', 
'Chun ', 'Yao ', 'Suo ', 'Jin ', 'Ming ', 'Jiao ', 'Kai ',
+'Gao ', 'Weng ', 'Chang ', 'Qi ', 'Hao ', 'Yan ', 'Li ', 'Ai ', 'Ji ', 'Gui ', 
'Men ', 'Zan ', 'Xie ', 'Hao ', 'Mu ', 'Mo ',
+'Cong ', 'Ni ', 'Zhang ', 'Hui ', 'Bao ', 'Han ', 'Xuan ', 'Chuan ', 'Liao ', 
'Xian ', 'Dan ', 'Jing ', 'Pie ', 'Lin ', 'Tun ', 'Xi ',
+'Yi ', 'Ji ', 'Huang ', 'Tai ', 'Ye ', 'Ye ', 'Li ', 'Tan ', 'Tong ', 'Xiao ', 
'Fei ', 'Qin ', 'Zhao ', 'Hao ', 'Yi ', 'Xiang ',
+'Xing ', 'Sen ', 'Jiao ', 'Bao ', 'Jing ', 'Yian ', 'Ai ', 'Ye ', 'Ru ', 'Shu 
', 'Meng ', 'Xun ', 'Yao ', 'Pu ', 'Li ', 'Chen ',
+'Kuang ', 'Die ', qq{[?] }, 'Yan ', 'Huo ', 'Lu ', 'Xi ', 'Rong ', 'Long ', 
'Nang ', 'Luo ', 'Luan ', 'Shai ', 'Tang ', 'Yan ', 'Chu ',
+'Yue ', 'Yue ', 'Qu ', 'Yi ', 'Geng ', 'Ye ', 'Hu ', 'He ', 'Shu ', 'Cao ', 
'Cao ', 'Noboru ', 'Man ', 'Ceng ', 'Ceng ', 'Ti ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x67.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x67.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x67.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x67.pm       12 Oct 2011 
23:51:01 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x67] = [
+'Zui ', 'Can ', 'Xu ', 'Hui ', 'Yin ', 'Qie ', 'Fen ', 'Pi ', 'Yue ', 'You ', 
'Ruan ', 'Peng ', 'Ban ', 'Fu ', 'Ling ', 'Fei ',
+'Qu ', qq{[?] }, 'Nu ', 'Tiao ', 'Shuo ', 'Zhen ', 'Lang ', 'Lang ', 'Juan ', 
'Ming ', 'Huang ', 'Wang ', 'Tun ', 'Zhao ', 'Ji ', 'Qi ',
+'Ying ', 'Zong ', 'Wang ', 'Tong ', 'Lang ', qq{[?] }, 'Meng ', 'Long ', 'Mu 
', 'Deng ', 'Wei ', 'Mo ', 'Ben ', 'Zha ', 'Zhu ', 'Zhu ',
+qq{[?] }, 'Zhu ', 'Ren ', 'Ba ', 'Po ', 'Duo ', 'Duo ', 'Dao ', 'Li ', 'Qiu ', 
'Ji ', 'Jiu ', 'Bi ', 'Xiu ', 'Ting ', 'Ci ',
+'Sha ', 'Eburi ', 'Za ', 'Quan ', 'Qian ', 'Yu ', 'Gan ', 'Wu ', 'Cha ', 'Shan 
', 'Xun ', 'Fan ', 'Wu ', 'Zi ', 'Li ', 'Xing ',
+'Cai ', 'Cun ', 'Ren ', 'Shao ', 'Tuo ', 'Di ', 'Zhang ', 'Mang ', 'Chi ', 'Yi 
', 'Gu ', 'Gong ', 'Du ', 'Yi ', 'Qi ', 'Shu ',
+'Gang ', 'Tiao ', 'Moku ', 'Soma ', 'Tochi ', 'Lai ', 'Sugi ', 'Mang ', 'Yang 
', 'Ma ', 'Miao ', 'Si ', 'Yuan ', 'Hang ', 'Fei ', 'Bei ',
+'Jie ', 'Dong ', 'Gao ', 'Yao ', 'Xian ', 'Chu ', 'Qun ', 'Pa ', 'Shu ', 'Hua 
', 'Xin ', 'Chou ', 'Zhu ', 'Chou ', 'Song ', 'Ban ',
+'Song ', 'Ji ', 'Yue ', 'Jin ', 'Gou ', 'Ji ', 'Mao ', 'Pi ', 'Bi ', 'Wang ', 
'Ang ', 'Fang ', 'Fen ', 'Yi ', 'Fu ', 'Nan ',
+'Xi ', 'Hu ', 'Ya ', 'Dou ', 'Xun ', 'Zhen ', 'Yao ', 'Lin ', 'Rui ', 'E ', 
'Mei ', 'Zhao ', 'Guo ', 'Zhi ', 'Cong ', 'Yun ',
+'Waku ', 'Dou ', 'Shu ', 'Zao ', qq{[?] }, 'Li ', 'Haze ', 'Jian ', 'Cheng ', 
'Matsu ', 'Qiang ', 'Feng ', 'Nan ', 'Xiao ', 'Xian ', 'Ku ',
+'Ping ', 'Yi ', 'Xi ', 'Zhi ', 'Guai ', 'Xiao ', 'Jia ', 'Jia ', 'Gou ', 'Fu 
', 'Mo ', 'Yi ', 'Ye ', 'Ye ', 'Shi ', 'Nie ',
+'Bi ', 'Duo ', 'Yi ', 'Ling ', 'Bing ', 'Ni ', 'La ', 'He ', 'Pan ', 'Fan ', 
'Zhong ', 'Dai ', 'Ci ', 'Yang ', 'Fu ', 'Bo ',
+'Mou ', 'Gan ', 'Qi ', 'Ran ', 'Rou ', 'Mao ', 'Zhao ', 'Song ', 'Zhe ', 'Xia 
', 'You ', 'Shen ', 'Ju ', 'Tuo ', 'Zuo ', 'Nan ',
+'Ning ', 'Yong ', 'Di ', 'Zhi ', 'Zha ', 'Cha ', 'Dan ', 'Gu ', 'Pu ', 'Jiu ', 
'Ao ', 'Fu ', 'Jian ', 'Bo ', 'Duo ', 'Ke ',
+'Nai ', 'Zhu ', 'Bi ', 'Liu ', 'Chai ', 'Zha ', 'Si ', 'Zhu ', 'Pei ', 'Shi ', 
'Guai ', 'Cha ', 'Yao ', 'Jue ', 'Jiu ', 'Shi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x68.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x68.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x68.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x68.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:31 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x68] = [
+'Zhi ', 'Liu ', 'Mei ', 'Hoy ', 'Rong ', 'Zha ', qq{[?] }, 'Biao ', 'Zhan ', 
'Jie ', 'Long ', 'Dong ', 'Lu ', 'Sayng ', 'Li ', 'Lan ',
+'Yong ', 'Shu ', 'Xun ', 'Shuan ', 'Qi ', 'Zhen ', 'Qi ', 'Li ', 'Yi ', 'Xiang 
', 'Zhen ', 'Li ', 'Su ', 'Gua ', 'Kan ', 'Bing ',
+'Ren ', 'Xiao ', 'Bo ', 'Ren ', 'Bing ', 'Zi ', 'Chou ', 'Yi ', 'Jie ', 'Xu ', 
'Zhu ', 'Jian ', 'Zui ', 'Er ', 'Er ', 'You ',
+'Fa ', 'Gong ', 'Kao ', 'Lao ', 'Zhan ', 'Li ', 'Yin ', 'Yang ', 'He ', 'Gen 
', 'Zhi ', 'Chi ', 'Ge ', 'Zai ', 'Luan ', 'Fu ',
+'Jie ', 'Hang ', 'Gui ', 'Tao ', 'Guang ', 'Wei ', 'Kuang ', 'Ru ', 'An ', 'An 
', 'Juan ', 'Yi ', 'Zhuo ', 'Ku ', 'Zhi ', 'Qiong ',
+'Tong ', 'Sang ', 'Sang ', 'Huan ', 'Jie ', 'Jiu ', 'Xue ', 'Duo ', 'Zhui ', 
'Yu ', 'Zan ', 'Kasei ', 'Ying ', 'Masu ', qq{[?] }, 'Zhan ',
+'Ya ', 'Nao ', 'Zhen ', 'Dang ', 'Qi ', 'Qiao ', 'Hua ', 'Kuai ', 'Jiang ', 
'Zhuang ', 'Xun ', 'Suo ', 'Sha ', 'Zhen ', 'Bei ', 'Ting ',
+'Gua ', 'Jing ', 'Bo ', 'Ben ', 'Fu ', 'Rui ', 'Tong ', 'Jue ', 'Xi ', 'Lang 
', 'Liu ', 'Feng ', 'Qi ', 'Wen ', 'Jun ', 'Gan ',
+'Cu ', 'Liang ', 'Qiu ', 'Ting ', 'You ', 'Mei ', 'Bang ', 'Long ', 'Peng ', 
'Zhuang ', 'Di ', 'Xuan ', 'Tu ', 'Zao ', 'Ao ', 'Gu ',
+'Bi ', 'Di ', 'Han ', 'Zi ', 'Zhi ', 'Ren ', 'Bei ', 'Geng ', 'Jian ', 'Huan 
', 'Wan ', 'Nuo ', 'Jia ', 'Tiao ', 'Ji ', 'Xiao ',
+'Lu ', 'Huan ', 'Shao ', 'Cen ', 'Fen ', 'Song ', 'Meng ', 'Wu ', 'Li ', 'Li 
', 'Dou ', 'Cen ', 'Ying ', 'Suo ', 'Ju ', 'Ti ',
+'Jie ', 'Kun ', 'Zhuo ', 'Shu ', 'Chan ', 'Fan ', 'Wei ', 'Jing ', 'Li ', 
'Bing ', 'Fumoto ', 'Shikimi ', 'Tao ', 'Zhi ', 'Lai ', 'Lian ',
+'Jian ', 'Zhuo ', 'Ling ', 'Li ', 'Qi ', 'Bing ', 'Zhun ', 'Cong ', 'Qian ', 
'Mian ', 'Qi ', 'Qi ', 'Cai ', 'Gun ', 'Chan ', 'Te ',
+'Fei ', 'Pai ', 'Bang ', 'Pou ', 'Hun ', 'Zong ', 'Cheng ', 'Zao ', 'Ji ', 'Li 
', 'Peng ', 'Yu ', 'Yu ', 'Gu ', 'Hun ', 'Dong ',
+'Tang ', 'Gang ', 'Wang ', 'Di ', 'Xi ', 'Fan ', 'Cheng ', 'Zhan ', 'Qi ', 
'Yuan ', 'Yan ', 'Yu ', 'Quan ', 'Yi ', 'Sen ', 'Ren ',
+'Chui ', 'Leng ', 'Qi ', 'Zhuo ', 'Fu ', 'Ke ', 'Lai ', 'Zou ', 'Zou ', 'Zhuo 
', 'Guan ', 'Fen ', 'Fen ', 'Chen ', 'Qiong ', 'Nie ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x69.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x69.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x69.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x69.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x69] = [
+'Wan ', 'Guo ', 'Lu ', 'Hao ', 'Jie ', 'Yi ', 'Chou ', 'Ju ', 'Ju ', 'Cheng ', 
'Zuo ', 'Liang ', 'Qiang ', 'Zhi ', 'Zhui ', 'Ya ',
+'Ju ', 'Bei ', 'Jiao ', 'Zhuo ', 'Zi ', 'Bin ', 'Peng ', 'Ding ', 'Chu ', 
'Chang ', 'Kunugi ', 'Momiji ', 'Jian ', 'Gui ', 'Xi ', 'Du ',
+'Qian ', 'Kunugi ', 'Soko ', 'Shide ', 'Luo ', 'Zhi ', 'Ken ', 'Myeng ', 'Tafu 
', qq{[?] }, 'Peng ', 'Zhan ', qq{[?] }, 'Tuo ', 'Sen ', 'Duo ',
+'Ye ', 'Fou ', 'Wei ', 'Wei ', 'Duan ', 'Jia ', 'Zong ', 'Jian ', 'Yi ', 'Shen 
', 'Xi ', 'Yan ', 'Yan ', 'Chuan ', 'Zhan ', 'Chun ',
+'Yu ', 'He ', 'Zha ', 'Wo ', 'Pian ', 'Bi ', 'Yao ', 'Huo ', 'Xu ', 'Ruo ', 
'Yang ', 'La ', 'Yan ', 'Ben ', 'Hun ', 'Kui ',
+'Jie ', 'Kui ', 'Si ', 'Feng ', 'Xie ', 'Tuo ', 'Zhi ', 'Jian ', 'Mu ', 'Mao 
', 'Chu ', 'Hu ', 'Hu ', 'Lian ', 'Leng ', 'Ting ',
+'Nan ', 'Yu ', 'You ', 'Mei ', 'Song ', 'Xuan ', 'Xuan ', 'Ying ', 'Zhen ', 
'Pian ', 'Ye ', 'Ji ', 'Jie ', 'Ye ', 'Chu ', 'Shun ',
+'Yu ', 'Cou ', 'Wei ', 'Mei ', 'Di ', 'Ji ', 'Jie ', 'Kai ', 'Qiu ', 'Ying ', 
'Rou ', 'Heng ', 'Lou ', 'Le ', 'Hazou ', 'Katsura ',
+'Pin ', 'Muro ', 'Gai ', 'Tan ', 'Lan ', 'Yun ', 'Yu ', 'Chen ', 'Lu ', 'Ju ', 
'Sakaki ', qq{[?] }, 'Pi ', 'Xie ', 'Jia ', 'Yi ',
+'Zhan ', 'Fu ', 'Nai ', 'Mi ', 'Lang ', 'Rong ', 'Gu ', 'Jian ', 'Ju ', 'Ta ', 
'Yao ', 'Zhen ', 'Bang ', 'Sha ', 'Yuan ', 'Zi ',
+'Ming ', 'Su ', 'Jia ', 'Yao ', 'Jie ', 'Huang ', 'Gan ', 'Fei ', 'Zha ', 
'Qian ', 'Ma ', 'Sun ', 'Yuan ', 'Xie ', 'Rong ', 'Shi ',
+'Zhi ', 'Cui ', 'Yun ', 'Ting ', 'Liu ', 'Rong ', 'Tang ', 'Que ', 'Zhai ', 
'Si ', 'Sheng ', 'Ta ', 'Ke ', 'Xi ', 'Gu ', 'Qi ',
+'Kao ', 'Gao ', 'Sun ', 'Pan ', 'Tao ', 'Ge ', 'Xun ', 'Dian ', 'Nou ', 'Ji ', 
'Shuo ', 'Gou ', 'Chui ', 'Qiang ', 'Cha ', 'Qian ',
+'Huai ', 'Mei ', 'Xu ', 'Gang ', 'Gao ', 'Zhuo ', 'Tuo ', 'Hashi ', 'Yang ', 
'Dian ', 'Jia ', 'Jian ', 'Zui ', 'Kashi ', 'Ori ', 'Bin ',
+'Zhu ', qq{[?] }, 'Xi ', 'Qi ', 'Lian ', 'Hui ', 'Yong ', 'Qian ', 'Guo ', 
'Gai ', 'Gai ', 'Tuan ', 'Hua ', 'Cu ', 'Sen ', 'Cui ',
+'Beng ', 'You ', 'Hu ', 'Jiang ', 'Hu ', 'Huan ', 'Kui ', 'Yi ', 'Nie ', 'Gao 
', 'Kang ', 'Gui ', 'Gui ', 'Cao ', 'Man ', 'Jin ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6a.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6a.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6a.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6a.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x6a] = [
+'Di ', 'Zhuang ', 'Le ', 'Lang ', 'Chen ', 'Cong ', 'Li ', 'Xiu ', 'Qing ', 
'Shuang ', 'Fan ', 'Tong ', 'Guan ', 'Ji ', 'Suo ', 'Lei ',
+'Lu ', 'Liang ', 'Mi ', 'Lou ', 'Chao ', 'Su ', 'Ke ', 'Shu ', 'Tang ', 'Biao 
', 'Lu ', 'Jiu ', 'Shu ', 'Zha ', 'Shu ', 'Zhang ',
+'Men ', 'Mo ', 'Niao ', 'Yang ', 'Tiao ', 'Peng ', 'Zhu ', 'Sha ', 'Xi ', 
'Quan ', 'Heng ', 'Jian ', 'Cong ', qq{[?] }, 'Hokuso ', 'Qiang ',
+'Tara ', 'Ying ', 'Er ', 'Xin ', 'Zhi ', 'Qiao ', 'Zui ', 'Cong ', 'Pu ', 'Shu 
', 'Hua ', 'Kui ', 'Zhen ', 'Zun ', 'Yue ', 'Zhan ',
+'Xi ', 'Xun ', 'Dian ', 'Fa ', 'Gan ', 'Mo ', 'Wu ', 'Qiao ', 'Nao ', 'Lin ', 
'Liu ', 'Qiao ', 'Xian ', 'Run ', 'Fan ', 'Zhan ',
+'Tuo ', 'Lao ', 'Yun ', 'Shun ', 'Tui ', 'Cheng ', 'Tang ', 'Meng ', 'Ju ', 
'Cheng ', 'Su ', 'Jue ', 'Jue ', 'Tan ', 'Hui ', 'Ji ',
+'Nuo ', 'Xiang ', 'Tuo ', 'Ning ', 'Rui ', 'Zhu ', 'Chuang ', 'Zeng ', 'Fen ', 
'Qiong ', 'Ran ', 'Heng ', 'Cen ', 'Gu ', 'Liu ', 'Lao ',
+'Gao ', 'Chu ', 'Zusa ', 'Nude ', 'Ca ', 'San ', 'Ji ', 'Dou ', 'Shou ', 'Lu 
', qq{[?] }, qq{[?] }, 'Yuan ', 'Ta ', 'Shu ', 'Jiang ',
+'Tan ', 'Lin ', 'Nong ', 'Yin ', 'Xi ', 'Sui ', 'Shan ', 'Zui ', 'Xuan ', 
'Cheng ', 'Gan ', 'Ju ', 'Zui ', 'Yi ', 'Qin ', 'Pu ',
+'Yan ', 'Lei ', 'Feng ', 'Hui ', 'Dang ', 'Ji ', 'Sui ', 'Bo ', 'Bi ', 'Ding 
', 'Chu ', 'Zhua ', 'Kuai ', 'Ji ', 'Jie ', 'Jia ',
+'Qing ', 'Zhe ', 'Jian ', 'Qiang ', 'Dao ', 'Yi ', 'Biao ', 'Song ', 'She ', 
'Lin ', 'Kunugi ', 'Cha ', 'Meng ', 'Yin ', 'Tao ', 'Tai ',
+'Mian ', 'Qi ', 'Toan ', 'Bin ', 'Huo ', 'Ji ', 'Qian ', 'Mi ', 'Ning ', 'Yi 
', 'Gao ', 'Jian ', 'Yin ', 'Er ', 'Qing ', 'Yan ',
+'Qi ', 'Mi ', 'Zhao ', 'Gui ', 'Chun ', 'Ji ', 'Kui ', 'Po ', 'Deng ', 'Chu ', 
qq{[?] }, 'Mian ', 'You ', 'Zhi ', 'Guang ', 'Qian ',
+'Lei ', 'Lei ', 'Sa ', 'Lu ', 'Li ', 'Cuan ', 'Lu ', 'Mie ', 'Hui ', 'Ou ', 
'Lu ', 'Jie ', 'Gao ', 'Du ', 'Yuan ', 'Li ',
+'Fei ', 'Zhuo ', 'Sou ', 'Lian ', 'Tamo ', 'Chu ', qq{[?] }, 'Zhu ', 'Lu ', 
'Yan ', 'Li ', 'Zhu ', 'Chen ', 'Jie ', 'E ', 'Su ',
+'Huai ', 'Nie ', 'Yu ', 'Long ', 'Lai ', qq{[?] }, 'Xian ', 'Kwi ', 'Ju ', 
'Xiao ', 'Ling ', 'Ying ', 'Jian ', 'Yin ', 'You ', 'Ying ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6b.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6b.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6b.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6b.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x6b] = [
+'Xiang ', 'Nong ', 'Bo ', 'Chan ', 'Lan ', 'Ju ', 'Shuang ', 'She ', 'Wei ', 
'Cong ', 'Quan ', 'Qu ', 'Cang ', qq{[?] }, 'Yu ', 'Luo ',
+'Li ', 'Zan ', 'Luan ', 'Dang ', 'Jue ', 'Em ', 'Lan ', 'Lan ', 'Zhu ', 'Lei 
', 'Li ', 'Ba ', 'Nang ', 'Yu ', 'Ling ', 'Tsuki ',
+'Qian ', 'Ci ', 'Huan ', 'Xin ', 'Yu ', 'Yu ', 'Qian ', 'Ou ', 'Xu ', 'Chao ', 
'Chu ', 'Chi ', 'Kai ', 'Yi ', 'Jue ', 'Xi ',
+'Xu ', 'Xia ', 'Yu ', 'Kuai ', 'Lang ', 'Kuan ', 'Shuo ', 'Xi ', 'Ai ', 'Yi ', 
'Qi ', 'Hu ', 'Chi ', 'Qin ', 'Kuan ', 'Kan ',
+'Kuan ', 'Kan ', 'Chuan ', 'Sha ', 'Gua ', 'Yin ', 'Xin ', 'Xie ', 'Yu ', 
'Qian ', 'Xiao ', 'Yi ', 'Ge ', 'Wu ', 'Tan ', 'Jin ',
+'Ou ', 'Hu ', 'Ti ', 'Huan ', 'Xu ', 'Pen ', 'Xi ', 'Xiao ', 'Xu ', 'Xi ', 
'Sen ', 'Lian ', 'Chu ', 'Yi ', 'Kan ', 'Yu ',
+'Chuo ', 'Huan ', 'Zhi ', 'Zheng ', 'Ci ', 'Bu ', 'Wu ', 'Qi ', 'Bu ', 'Bu ', 
'Wai ', 'Ju ', 'Qian ', 'Chi ', 'Se ', 'Chi ',
+'Se ', 'Zhong ', 'Sui ', 'Sui ', 'Li ', 'Cuo ', 'Yu ', 'Li ', 'Gui ', 'Dai ', 
'Dai ', 'Si ', 'Jian ', 'Zhe ', 'Mo ', 'Mo ',
+'Yao ', 'Mo ', 'Cu ', 'Yang ', 'Tian ', 'Sheng ', 'Dai ', 'Shang ', 'Xu ', 
'Xun ', 'Shu ', 'Can ', 'Jue ', 'Piao ', 'Qia ', 'Qiu ',
+'Su ', 'Qing ', 'Yun ', 'Lian ', 'Yi ', 'Fou ', 'Zhi ', 'Ye ', 'Can ', 'Hun ', 
'Dan ', 'Ji ', 'Ye ', 'Zhen ', 'Yun ', 'Wen ',
+'Chou ', 'Bin ', 'Ti ', 'Jin ', 'Shang ', 'Yin ', 'Diao ', 'Cu ', 'Hui ', 
'Cuan ', 'Yi ', 'Dan ', 'Du ', 'Jiang ', 'Lian ', 'Bin ',
+'Du ', 'Tsukusu ', 'Jian ', 'Shu ', 'Ou ', 'Duan ', 'Zhu ', 'Yin ', 'Qing ', 
'Yi ', 'Sha ', 'Que ', 'Ke ', 'Yao ', 'Jun ', 'Dian ',
+'Hui ', 'Hui ', 'Gu ', 'Que ', 'Ji ', 'Yi ', 'Ou ', 'Hui ', 'Duan ', 'Yi ', 
'Xiao ', 'Wu ', 'Guan ', 'Mu ', 'Mei ', 'Mei ',
+'Ai ', 'Zuo ', 'Du ', 'Yu ', 'Bi ', 'Bi ', 'Bi ', 'Pi ', 'Pi ', 'Bi ', 'Chan 
', 'Mao ', qq{[?] }, qq{[?] }, 'Pu ', 'Mushiru ',
+'Jia ', 'Zhan ', 'Sai ', 'Mu ', 'Tuo ', 'Xun ', 'Er ', 'Rong ', 'Xian ', 'Ju 
', 'Mu ', 'Hao ', 'Qiu ', 'Dou ', 'Mushiru ', 'Tan ',
+'Pei ', 'Ju ', 'Duo ', 'Cui ', 'Bi ', 'San ', qq{[?] }, 'Mao ', 'Sui ', 'Yu ', 
'Yu ', 'Tuo ', 'He ', 'Jian ', 'Ta ', 'San ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6c.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6c.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6c.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6c.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x6c] = [
+'Lu ', 'Mu ', 'Li ', 'Tong ', 'Rong ', 'Chang ', 'Pu ', 'Luo ', 'Zhan ', 'Sao 
', 'Zhan ', 'Meng ', 'Luo ', 'Qu ', 'Die ', 'Shi ',
+'Di ', 'Min ', 'Jue ', 'Mang ', 'Qi ', 'Pie ', 'Nai ', 'Qi ', 'Dao ', 'Xian ', 
'Chuan ', 'Fen ', 'Ri ', 'Nei ', qq{[?] }, 'Fu ',
+'Shen ', 'Dong ', 'Qing ', 'Qi ', 'Yin ', 'Xi ', 'Hai ', 'Yang ', 'An ', 'Ya 
', 'Ke ', 'Qing ', 'Ya ', 'Dong ', 'Dan ', 'Lu ',
+'Qing ', 'Yang ', 'Yun ', 'Yun ', 'Shui ', 'San ', 'Zheng ', 'Bing ', 'Yong ', 
'Dang ', 'Shitamizu ', 'Le ', 'Ni ', 'Tun ', 'Fan ', 'Gui ',
+'Ting ', 'Zhi ', 'Qiu ', 'Bin ', 'Ze ', 'Mian ', 'Cuan ', 'Hui ', 'Diao ', 'Yi 
', 'Cha ', 'Zhuo ', 'Chuan ', 'Wan ', 'Fan ', 'Dai ',
+'Xi ', 'Tuo ', 'Mang ', 'Qiu ', 'Qi ', 'Shan ', 'Pai ', 'Han ', 'Qian ', 'Wu 
', 'Wu ', 'Xun ', 'Si ', 'Ru ', 'Gong ', 'Jiang ',
+'Chi ', 'Wu ', 'Tsuchi ', qq{[?] }, 'Tang ', 'Zhi ', 'Chi ', 'Qian ', 'Mi ', 
'Yu ', 'Wang ', 'Qing ', 'Jing ', 'Rui ', 'Jun ', 'Hong ',
+'Tai ', 'Quan ', 'Ji ', 'Bian ', 'Bian ', 'Gan ', 'Wen ', 'Zhong ', 'Fang ', 
'Xiong ', 'Jue ', 'Hang ', 'Niou ', 'Qi ', 'Fen ', 'Xu ',
+'Xu ', 'Qin ', 'Yi ', 'Wo ', 'Yun ', 'Yuan ', 'Hang ', 'Yan ', 'Chen ', 'Chen 
', 'Dan ', 'You ', 'Dun ', 'Hu ', 'Huo ', 'Qie ',
+'Mu ', 'Rou ', 'Mei ', 'Ta ', 'Mian ', 'Wu ', 'Chong ', 'Tian ', 'Bi ', 'Sha 
', 'Zhi ', 'Pei ', 'Pan ', 'Zhui ', 'Za ', 'Gou ',
+'Liu ', 'Mei ', 'Ze ', 'Feng ', 'Ou ', 'Li ', 'Lun ', 'Cang ', 'Feng ', 'Wei 
', 'Hu ', 'Mo ', 'Mei ', 'Shu ', 'Ju ', 'Zan ',
+'Tuo ', 'Tuo ', 'Tuo ', 'He ', 'Li ', 'Mi ', 'Yi ', 'Fa ', 'Fei ', 'You ', 
'Tian ', 'Zhi ', 'Zhao ', 'Gu ', 'Zhan ', 'Yan ',
+'Si ', 'Kuang ', 'Jiong ', 'Ju ', 'Xie ', 'Qiu ', 'Yi ', 'Jia ', 'Zhong ', 
'Quan ', 'Bo ', 'Hui ', 'Mi ', 'Ben ', 'Zhuo ', 'Chu ',
+'Le ', 'You ', 'Gu ', 'Hong ', 'Gan ', 'Fa ', 'Mao ', 'Si ', 'Hu ', 'Ping ', 
'Ci ', 'Fan ', 'Chi ', 'Su ', 'Ning ', 'Cheng ',
+'Ling ', 'Pao ', 'Bo ', 'Qi ', 'Si ', 'Ni ', 'Ju ', 'Yue ', 'Zhu ', 'Sheng ', 
'Lei ', 'Xuan ', 'Xue ', 'Fu ', 'Pan ', 'Min ',
+'Tai ', 'Yang ', 'Ji ', 'Yong ', 'Guan ', 'Beng ', 'Xue ', 'Long ', 'Lu ', 
qq{[?] }, 'Bo ', 'Xie ', 'Po ', 'Ze ', 'Jing ', 'Yin ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6d.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6d.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6d.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6d.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x6d] = [
+'Zhou ', 'Ji ', 'Yi ', 'Hui ', 'Hui ', 'Zui ', 'Cheng ', 'Yin ', 'Wei ', 'Hou 
', 'Jian ', 'Yang ', 'Lie ', 'Si ', 'Ji ', 'Er ',
+'Xing ', 'Fu ', 'Sa ', 'Suo ', 'Zhi ', 'Yin ', 'Wu ', 'Xi ', 'Kao ', 'Zhu ', 
'Jiang ', 'Luo ', qq{[?] }, 'An ', 'Dong ', 'Yi ',
+'Mou ', 'Lei ', 'Yi ', 'Mi ', 'Quan ', 'Jin ', 'Mo ', 'Wei ', 'Xiao ', 'Xie ', 
'Hong ', 'Xu ', 'Shuo ', 'Kuang ', 'Tao ', 'Qie ',
+'Ju ', 'Er ', 'Zhou ', 'Ru ', 'Ping ', 'Xun ', 'Xiong ', 'Zhi ', 'Guang ', 
'Huan ', 'Ming ', 'Huo ', 'Wa ', 'Qia ', 'Pai ', 'Wu ',
+'Qu ', 'Liu ', 'Yi ', 'Jia ', 'Jing ', 'Qian ', 'Jiang ', 'Jiao ', 'Cheng ', 
'Shi ', 'Zhuo ', 'Ce ', 'Pal ', 'Kuai ', 'Ji ', 'Liu ',
+'Chan ', 'Hun ', 'Hu ', 'Nong ', 'Xun ', 'Jin ', 'Lie ', 'Qiu ', 'Wei ', 'Zhe 
', 'Jun ', 'Han ', 'Bang ', 'Mang ', 'Zhuo ', 'You ',
+'Xi ', 'Bo ', 'Dou ', 'Wan ', 'Hong ', 'Yi ', 'Pu ', 'Ying ', 'Lan ', 'Hao ', 
'Lang ', 'Han ', 'Li ', 'Geng ', 'Fu ', 'Wu ',
+'Lian ', 'Chun ', 'Feng ', 'Yi ', 'Yu ', 'Tong ', 'Lao ', 'Hai ', 'Jin ', 'Jia 
', 'Chong ', 'Weng ', 'Mei ', 'Sui ', 'Cheng ', 'Pei ',
+'Xian ', 'Shen ', 'Tu ', 'Kun ', 'Pin ', 'Nie ', 'Han ', 'Jing ', 'Xiao ', 
'She ', 'Nian ', 'Tu ', 'Yong ', 'Xiao ', 'Xian ', 'Ting ',
+'E ', 'Su ', 'Tun ', 'Juan ', 'Cen ', 'Ti ', 'Li ', 'Shui ', 'Si ', 'Lei ', 
'Shui ', 'Tao ', 'Du ', 'Lao ', 'Lai ', 'Lian ',
+'Wei ', 'Wo ', 'Yun ', 'Huan ', 'Di ', qq{[?] }, 'Run ', 'Jian ', 'Zhang ', 
'Se ', 'Fu ', 'Guan ', 'Xing ', 'Shou ', 'Shuan ', 'Ya ',
+'Chuo ', 'Zhang ', 'Ye ', 'Kong ', 'Wo ', 'Han ', 'Tuo ', 'Dong ', 'He ', 'Wo 
', 'Ju ', 'Gan ', 'Liang ', 'Hun ', 'Ta ', 'Zhuo ',
+'Dian ', 'Qie ', 'De ', 'Juan ', 'Zi ', 'Xi ', 'Yao ', 'Qi ', 'Gu ', 'Guo ', 
'Han ', 'Lin ', 'Tang ', 'Zhou ', 'Peng ', 'Hao ',
+'Chang ', 'Shu ', 'Qi ', 'Fang ', 'Chi ', 'Lu ', 'Nao ', 'Ju ', 'Tao ', 'Cong 
', 'Lei ', 'Zhi ', 'Peng ', 'Fei ', 'Song ', 'Tian ',
+'Pi ', 'Dan ', 'Yu ', 'Ni ', 'Yu ', 'Lu ', 'Gan ', 'Mi ', 'Jing ', 'Ling ', 
'Lun ', 'Yin ', 'Cui ', 'Qu ', 'Huai ', 'Yu ',
+'Nian ', 'Shen ', 'Piao ', 'Chun ', 'Wa ', 'Yuan ', 'Lai ', 'Hun ', 'Qing ', 
'Yan ', 'Qian ', 'Tian ', 'Miao ', 'Zhi ', 'Yin ', 'Mi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6e.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x6e] = [
+'Ben ', 'Yuan ', 'Wen ', 'Re ', 'Fei ', 'Qing ', 'Yuan ', 'Ke ', 'Ji ', 'She 
', 'Yuan ', 'Shibui ', 'Lu ', 'Zi ', 'Du ', qq{[?] },
+'Jian ', 'Min ', 'Pi ', 'Tani ', 'Yu ', 'Yuan ', 'Shen ', 'Shen ', 'Rou ', 
'Huan ', 'Zhu ', 'Jian ', 'Nuan ', 'Yu ', 'Qiu ', 'Ting ',
+'Qu ', 'Du ', 'Feng ', 'Zha ', 'Bo ', 'Wo ', 'Wo ', 'Di ', 'Wei ', 'Wen ', 'Ru 
', 'Xie ', 'Ce ', 'Wei ', 'Ge ', 'Gang ',
+'Yan ', 'Hong ', 'Xuan ', 'Mi ', 'Ke ', 'Mao ', 'Ying ', 'Yan ', 'You ', 'Hong 
', 'Miao ', 'Xing ', 'Mei ', 'Zai ', 'Hun ', 'Nai ',
+'Kui ', 'Shi ', 'E ', 'Pai ', 'Mei ', 'Lian ', 'Qi ', 'Qi ', 'Mei ', 'Tian ', 
'Cou ', 'Wei ', 'Can ', 'Tuan ', 'Mian ', 'Hui ',
+'Mo ', 'Xu ', 'Ji ', 'Pen ', 'Jian ', 'Jian ', 'Hu ', 'Feng ', 'Xiang ', 'Yi 
', 'Yin ', 'Zhan ', 'Shi ', 'Jie ', 'Cheng ', 'Huang ',
+'Tan ', 'Yu ', 'Bi ', 'Min ', 'Shi ', 'Tu ', 'Sheng ', 'Yong ', 'Qu ', 'Zhong 
', 'Suei ', 'Jiu ', 'Jiao ', 'Qiou ', 'Yin ', 'Tang ',
+'Long ', 'Huo ', 'Yuan ', 'Nan ', 'Ban ', 'You ', 'Quan ', 'Chui ', 'Liang ', 
'Chan ', 'Yan ', 'Chun ', 'Nie ', 'Zi ', 'Wan ', 'Shi ',
+'Man ', 'Ying ', 'Ratsu ', 'Kui ', qq{[?] }, 'Jian ', 'Xu ', 'Lu ', 'Gui ', 
'Gai ', qq{[?] }, qq{[?] }, 'Po ', 'Jin ', 'Gui ', 'Tang ',
+'Yuan ', 'Suo ', 'Yuan ', 'Lian ', 'Yao ', 'Meng ', 'Zhun ', 'Sheng ', 'Ke ', 
'Tai ', 'Da ', 'Wa ', 'Liu ', 'Gou ', 'Sao ', 'Ming ',
+'Zha ', 'Shi ', 'Yi ', 'Lun ', 'Ma ', 'Pu ', 'Wei ', 'Li ', 'Cai ', 'Wu ', 'Xi 
', 'Wen ', 'Qiang ', 'Ze ', 'Shi ', 'Su ',
+'Yi ', 'Zhen ', 'Sou ', 'Yun ', 'Xiu ', 'Yin ', 'Rong ', 'Hun ', 'Su ', 'Su ', 
'Ni ', 'Ta ', 'Shi ', 'Ru ', 'Wei ', 'Pan ',
+'Chu ', 'Chu ', 'Pang ', 'Weng ', 'Cang ', 'Mie ', 'He ', 'Dian ', 'Hao ', 
'Huang ', 'Xi ', 'Zi ', 'Di ', 'Zhi ', 'Ying ', 'Fu ',
+'Jie ', 'Hua ', 'Ge ', 'Zi ', 'Tao ', 'Teng ', 'Sui ', 'Bi ', 'Jiao ', 'Hui ', 
'Gun ', 'Yin ', 'Gao ', 'Long ', 'Zhi ', 'Yan ',
+'She ', 'Man ', 'Ying ', 'Chun ', 'Lu ', 'Lan ', 'Luan ', qq{[?] }, 'Bin ', 
'Tan ', 'Yu ', 'Sou ', 'Hu ', 'Bi ', 'Biao ', 'Zhi ',
+'Jiang ', 'Kou ', 'Shen ', 'Shang ', 'Di ', 'Mi ', 'Ao ', 'Lu ', 'Hu ', 'Hu ', 
'You ', 'Chan ', 'Fan ', 'Yong ', 'Gun ', 'Man ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x6f.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x6f] = [
+'Qing ', 'Yu ', 'Piao ', 'Ji ', 'Ya ', 'Jiao ', 'Qi ', 'Xi ', 'Ji ', 'Lu ', 
'Lu ', 'Long ', 'Jin ', 'Guo ', 'Cong ', 'Lou ',
+'Zhi ', 'Gai ', 'Qiang ', 'Li ', 'Yan ', 'Cao ', 'Jiao ', 'Cong ', 'Qun ', 
'Tuan ', 'Ou ', 'Teng ', 'Ye ', 'Xi ', 'Mi ', 'Tang ',
+'Mo ', 'Shang ', 'Han ', 'Lian ', 'Lan ', 'Wa ', 'Li ', 'Qian ', 'Feng ', 
'Xuan ', 'Yi ', 'Man ', 'Zi ', 'Mang ', 'Kang ', 'Lei ',
+'Peng ', 'Shu ', 'Zhang ', 'Zhang ', 'Chong ', 'Xu ', 'Huan ', 'Kuo ', 'Jian 
', 'Yan ', 'Chuang ', 'Liao ', 'Cui ', 'Ti ', 'Yang ', 'Jiang ',
+'Cong ', 'Ying ', 'Hong ', 'Xun ', 'Shu ', 'Guan ', 'Ying ', 'Xiao ', qq{[?] 
}, qq{[?] }, 'Xu ', 'Lian ', 'Zhi ', 'Wei ', 'Pi ', 'Jue ',
+'Jiao ', 'Po ', 'Dang ', 'Hui ', 'Jie ', 'Wu ', 'Pa ', 'Ji ', 'Pan ', 'Gui ', 
'Xiao ', 'Qian ', 'Qian ', 'Xi ', 'Lu ', 'Xi ',
+'Xuan ', 'Dun ', 'Huang ', 'Min ', 'Run ', 'Su ', 'Liao ', 'Zhen ', 'Zhong ', 
'Yi ', 'Di ', 'Wan ', 'Dan ', 'Tan ', 'Chao ', 'Xun ',
+'Kui ', 'Yie ', 'Shao ', 'Tu ', 'Zhu ', 'San ', 'Hei ', 'Bi ', 'Shan ', 'Chan 
', 'Chan ', 'Shu ', 'Tong ', 'Pu ', 'Lin ', 'Wei ',
+'Se ', 'Se ', 'Cheng ', 'Jiong ', 'Cheng ', 'Hua ', 'Jiao ', 'Lao ', 'Che ', 
'Gan ', 'Cun ', 'Heng ', 'Si ', 'Shu ', 'Peng ', 'Han ',
+'Yun ', 'Liu ', 'Hong ', 'Fu ', 'Hao ', 'He ', 'Xian ', 'Jian ', 'Shan ', 'Xi 
', 'Oki ', qq{[?] }, 'Lan ', qq{[?] }, 'Yu ', 'Lin ',
+'Min ', 'Zao ', 'Dang ', 'Wan ', 'Ze ', 'Xie ', 'Yu ', 'Li ', 'Shi ', 'Xue ', 
'Ling ', 'Man ', 'Zi ', 'Yong ', 'Kuai ', 'Can ',
+'Lian ', 'Dian ', 'Ye ', 'Ao ', 'Huan ', 'Zhen ', 'Chan ', 'Man ', 'Dan ', 
'Dan ', 'Yi ', 'Sui ', 'Pi ', 'Ju ', 'Ta ', 'Qin ',
+'Ji ', 'Zhuo ', 'Lian ', 'Nong ', 'Guo ', 'Jin ', 'Fen ', 'Se ', 'Ji ', 'Sui 
', 'Hui ', 'Chu ', 'Ta ', 'Song ', 'Ding ', qq{[?] },
+'Zhu ', 'Lai ', 'Bin ', 'Lian ', 'Mi ', 'Shi ', 'Shu ', 'Mi ', 'Ning ', 'Ying 
', 'Ying ', 'Meng ', 'Jin ', 'Qi ', 'Pi ', 'Ji ',
+'Hao ', 'Ru ', 'Zui ', 'Wo ', 'Tao ', 'Yin ', 'Yin ', 'Dui ', 'Ci ', 'Huo ', 
'Jing ', 'Lan ', 'Jun ', 'Ai ', 'Pu ', 'Zhuo ',
+'Wei ', 'Bin ', 'Gu ', 'Qian ', 'Xing ', 'Hama ', 'Kuo ', 'Fei ', qq{[?] }, 
'Boku ', 'Jian ', 'Wei ', 'Luo ', 'Zan ', 'Lu ', 'Li ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x70.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x70.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x70.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x70.pm       12 Oct 2011 
23:51:02 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x70] = [
+'You ', 'Yang ', 'Lu ', 'Si ', 'Jie ', 'Ying ', 'Du ', 'Wang ', 'Hui ', 'Xie 
', 'Pan ', 'Shen ', 'Biao ', 'Chan ', 'Mo ', 'Liu ',
+'Jian ', 'Pu ', 'Se ', 'Cheng ', 'Gu ', 'Bin ', 'Huo ', 'Xian ', 'Lu ', 'Qin 
', 'Han ', 'Ying ', 'Yong ', 'Li ', 'Jing ', 'Xiao ',
+'Ying ', 'Sui ', 'Wei ', 'Xie ', 'Huai ', 'Hao ', 'Zhu ', 'Long ', 'Lai ', 
'Dui ', 'Fan ', 'Hu ', 'Lai ', qq{[?] }, qq{[?] }, 'Ying ',
+'Mi ', 'Ji ', 'Lian ', 'Jian ', 'Ying ', 'Fen ', 'Lin ', 'Yi ', 'Jian ', 'Yue 
', 'Chan ', 'Dai ', 'Rang ', 'Jian ', 'Lan ', 'Fan ',
+'Shuang ', 'Yuan ', 'Zhuo ', 'Feng ', 'She ', 'Lei ', 'Lan ', 'Cong ', 'Qu ', 
'Yong ', 'Qian ', 'Fa ', 'Guan ', 'Que ', 'Yan ', 'Hao ',
+'Hyeng ', 'Sa ', 'Zan ', 'Luan ', 'Yan ', 'Li ', 'Mi ', 'Shan ', 'Tan ', 'Dang 
', 'Jiao ', 'Chan ', qq{[?] }, 'Hao ', 'Ba ', 'Zhu ',
+'Lan ', 'Lan ', 'Nang ', 'Wan ', 'Luan ', 'Xun ', 'Xian ', 'Yan ', 'Gan ', 
'Yan ', 'Yu ', 'Huo ', 'Si ', 'Mie ', 'Guang ', 'Deng ',
+'Hui ', 'Xiao ', 'Xiao ', 'Hu ', 'Hong ', 'Ling ', 'Zao ', 'Zhuan ', 'Jiu ', 
'Zha ', 'Xie ', 'Chi ', 'Zhuo ', 'Zai ', 'Zai ', 'Can ',
+'Yang ', 'Qi ', 'Zhong ', 'Fen ', 'Niu ', 'Jiong ', 'Wen ', 'Po ', 'Yi ', 'Lu 
', 'Chui ', 'Pi ', 'Kai ', 'Pan ', 'Yan ', 'Kai ',
+'Pang ', 'Mu ', 'Chao ', 'Liao ', 'Gui ', 'Kang ', 'Tun ', 'Guang ', 'Xin ', 
'Zhi ', 'Guang ', 'Guang ', 'Wei ', 'Qiang ', qq{[?] }, 'Da ',
+'Xia ', 'Zheng ', 'Zhu ', 'Ke ', 'Zhao ', 'Fu ', 'Ba ', 'Duo ', 'Duo ', 'Ling 
', 'Zhuo ', 'Xuan ', 'Ju ', 'Tan ', 'Pao ', 'Jiong ',
+'Pao ', 'Tai ', 'Tai ', 'Bing ', 'Yang ', 'Tong ', 'Han ', 'Zhu ', 'Zha ', 
'Dian ', 'Wei ', 'Shi ', 'Lian ', 'Chi ', 'Huang ', qq{[?] },
+'Hu ', 'Shuo ', 'Lan ', 'Jing ', 'Jiao ', 'Xu ', 'Xing ', 'Quan ', 'Lie ', 
'Huan ', 'Yang ', 'Xiao ', 'Xiu ', 'Xian ', 'Yin ', 'Wu ',
+'Zhou ', 'Yao ', 'Shi ', 'Wei ', 'Tong ', 'Xue ', 'Zai ', 'Kai ', 'Hong ', 
'Luo ', 'Xia ', 'Zhu ', 'Xuan ', 'Zheng ', 'Po ', 'Yan ',
+'Hui ', 'Guang ', 'Zhe ', 'Hui ', 'Kao ', qq{[?] }, 'Fan ', 'Shao ', 'Ye ', 
'Hui ', qq{[?] }, 'Tang ', 'Jin ', 'Re ', qq{[?] }, 'Xi ',
+'Fu ', 'Jiong ', 'Che ', 'Pu ', 'Jing ', 'Zhuo ', 'Ting ', 'Wan ', 'Hai ', 
'Peng ', 'Lang ', 'Shan ', 'Hu ', 'Feng ', 'Chi ', 'Rong ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x71.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x71.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x71.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x71.pm       12 Oct 2011 
23:51:03 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x71] = [
+'Hu ', 'Xi ', 'Shu ', 'He ', 'Xun ', 'Ku ', 'Jue ', 'Xiao ', 'Xi ', 'Yan ', 
'Han ', 'Zhuang ', 'Jun ', 'Di ', 'Xie ', 'Ji ',
+'Wu ', qq{[?] }, qq{[?] }, 'Han ', 'Yan ', 'Huan ', 'Men ', 'Ju ', 'Chou ', 
'Bei ', 'Fen ', 'Lin ', 'Kun ', 'Hun ', 'Tun ', 'Xi ',
+'Cui ', 'Wu ', 'Hong ', 'Ju ', 'Fu ', 'Wo ', 'Jiao ', 'Cong ', 'Feng ', 'Ping 
', 'Qiong ', 'Ruo ', 'Xi ', 'Qiong ', 'Xin ', 'Zhuo ',
+'Yan ', 'Yan ', 'Yi ', 'Jue ', 'Yu ', 'Gang ', 'Ran ', 'Pi ', 'Gu ', qq{[?] }, 
'Sheng ', 'Chang ', 'Shao ', qq{[?] }, qq{[?] }, qq{[?] },
+qq{[?] }, 'Chen ', 'He ', 'Kui ', 'Zhong ', 'Duan ', 'Xia ', 'Hui ', 'Feng ', 
'Lian ', 'Xuan ', 'Xing ', 'Huang ', 'Jiao ', 'Jian ', 'Bi ',
+'Ying ', 'Zhu ', 'Wei ', 'Tuan ', 'Tian ', 'Xi ', 'Nuan ', 'Nuan ', 'Chan ', 
'Yan ', 'Jiong ', 'Jiong ', 'Yu ', 'Mei ', 'Sha ', 'Wei ',
+'Ye ', 'Xin ', 'Qiong ', 'Rou ', 'Mei ', 'Huan ', 'Xu ', 'Zhao ', 'Wei ', 'Fan 
', 'Qiu ', 'Sui ', 'Yang ', 'Lie ', 'Zhu ', 'Jie ',
+'Gao ', 'Gua ', 'Bao ', 'Hu ', 'Yun ', 'Xia ', qq{[?] }, qq{[?] }, 'Bian ', 
'Gou ', 'Tui ', 'Tang ', 'Chao ', 'Shan ', 'N ', 'Bo ',
+'Huang ', 'Xie ', 'Xi ', 'Wu ', 'Xi ', 'Yun ', 'He ', 'He ', 'Xi ', 'Yun ', 
'Xiong ', 'Nai ', 'Shan ', 'Qiong ', 'Yao ', 'Xun ',
+'Mi ', 'Lian ', 'Ying ', 'Wen ', 'Rong ', 'Oozutsu ', qq{[?] }, 'Qiang ', 'Liu 
', 'Xi ', 'Bi ', 'Biao ', 'Zong ', 'Lu ', 'Jian ', 'Shou ',
+'Yi ', 'Lou ', 'Feng ', 'Sui ', 'Yi ', 'Tong ', 'Jue ', 'Zong ', 'Yun ', 'Hu 
', 'Yi ', 'Zhi ', 'Ao ', 'Wei ', 'Liao ', 'Han ',
+'Ou ', 'Re ', 'Jiong ', 'Man ', qq{[?] }, 'Shang ', 'Cuan ', 'Zeng ', 'Jian ', 
'Xi ', 'Xi ', 'Xi ', 'Yi ', 'Xiao ', 'Chi ', 'Huang ',
+'Chan ', 'Ye ', 'Qian ', 'Ran ', 'Yan ', 'Xian ', 'Qiao ', 'Zun ', 'Deng ', 
'Dun ', 'Shen ', 'Jiao ', 'Fen ', 'Si ', 'Liao ', 'Yu ',
+'Lin ', 'Tong ', 'Shao ', 'Fen ', 'Fan ', 'Yan ', 'Xun ', 'Lan ', 'Mei ', 
'Tang ', 'Yi ', 'Jing ', 'Men ', qq{[?] }, qq{[?] }, 'Ying ',
+'Yu ', 'Yi ', 'Xue ', 'Lan ', 'Tai ', 'Zao ', 'Can ', 'Sui ', 'Xi ', 'Que ', 
'Cong ', 'Lian ', 'Hui ', 'Zhu ', 'Xie ', 'Ling ',
+'Wei ', 'Yi ', 'Xie ', 'Zhao ', 'Hui ', 'Tatsu ', 'Nung ', 'Lan ', 'Ru ', 
'Xian ', 'Kao ', 'Xun ', 'Jin ', 'Chou ', 'Chou ', 'Yao ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x72.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x72.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x72.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x72.pm       12 Oct 2011 
23:51:03 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x72] = [
+'He ', 'Lan ', 'Biao ', 'Rong ', 'Li ', 'Mo ', 'Bao ', 'Ruo ', 'Lu ', 'La ', 
'Ao ', 'Xun ', 'Kuang ', 'Shuo ', qq{[?] }, 'Li ',
+'Lu ', 'Jue ', 'Liao ', 'Yan ', 'Xi ', 'Xie ', 'Long ', 'Ye ', qq{[?] }, 'Rang 
', 'Yue ', 'Lan ', 'Cong ', 'Jue ', 'Tong ', 'Guan ',
+qq{[?] }, 'Che ', 'Mi ', 'Tang ', 'Lan ', 'Zhu ', qq{[?] }, 'Ling ', 'Cuan ', 
'Yu ', 'Zhua ', 'Tsumekanmuri ', 'Pa ', 'Zheng ', 'Pao ', 'Cheng ',
+'Yuan ', 'Ai ', 'Wei ', qq{[?] }, 'Jue ', 'Jue ', 'Fu ', 'Ye ', 'Ba ', 'Die ', 
'Ye ', 'Yao ', 'Zu ', 'Shuang ', 'Er ', 'Qiang ',
+'Chuang ', 'Ge ', 'Zang ', 'Die ', 'Qiang ', 'Yong ', 'Qiang ', 'Pian ', 'Ban 
', 'Pan ', 'Shao ', 'Jian ', 'Pai ', 'Du ', 'Chuang ', 'Tou ',
+'Zha ', 'Bian ', 'Die ', 'Bang ', 'Bo ', 'Chuang ', 'You ', qq{[?] }, 'Du ', 
'Ya ', 'Cheng ', 'Niu ', 'Ushihen ', 'Pin ', 'Jiu ', 'Mou ',
+'Tuo ', 'Mu ', 'Lao ', 'Ren ', 'Mang ', 'Fang ', 'Mao ', 'Mu ', 'Gang ', 'Wu 
', 'Yan ', 'Ge ', 'Bei ', 'Si ', 'Jian ', 'Gu ',
+'You ', 'Ge ', 'Sheng ', 'Mu ', 'Di ', 'Qian ', 'Quan ', 'Quan ', 'Zi ', 'Te 
', 'Xi ', 'Mang ', 'Keng ', 'Qian ', 'Wu ', 'Gu ',
+'Xi ', 'Li ', 'Li ', 'Pou ', 'Ji ', 'Gang ', 'Zhi ', 'Ben ', 'Quan ', 'Run ', 
'Du ', 'Ju ', 'Jia ', 'Jian ', 'Feng ', 'Pian ',
+'Ke ', 'Ju ', 'Kao ', 'Chu ', 'Xi ', 'Bei ', 'Luo ', 'Jie ', 'Ma ', 'San ', 
'Wei ', 'Li ', 'Dun ', 'Tong ', qq{[?] }, 'Jiang ',
+'Ikenie ', 'Li ', 'Du ', 'Lie ', 'Pi ', 'Piao ', 'Bao ', 'Xi ', 'Chou ', 'Wei 
', 'Kui ', 'Chou ', 'Quan ', 'Fan ', 'Ba ', 'Fan ',
+'Qiu ', 'Ji ', 'Cai ', 'Chuo ', 'An ', 'Jie ', 'Zhuang ', 'Guang ', 'Ma ', 
'You ', 'Kang ', 'Bo ', 'Hou ', 'Ya ', 'Yin ', 'Huan ',
+'Zhuang ', 'Yun ', 'Kuang ', 'Niu ', 'Di ', 'Qing ', 'Zhong ', 'Mu ', 'Bei ', 
'Pi ', 'Ju ', 'Ni ', 'Sheng ', 'Pao ', 'Xia ', 'Tuo ',
+'Hu ', 'Ling ', 'Fei ', 'Pi ', 'Ni ', 'Ao ', 'You ', 'Gou ', 'Yue ', 'Ju ', 
'Dan ', 'Po ', 'Gu ', 'Xian ', 'Ning ', 'Huan ',
+'Hen ', 'Jiao ', 'He ', 'Zhao ', 'Ji ', 'Xun ', 'Shan ', 'Ta ', 'Rong ', 'Shou 
', 'Tong ', 'Lao ', 'Du ', 'Xia ', 'Shi ', 'Hua ',
+'Zheng ', 'Yu ', 'Sun ', 'Yu ', 'Bi ', 'Mang ', 'Xi ', 'Juan ', 'Li ', 'Xia ', 
'Yin ', 'Suan ', 'Lang ', 'Bei ', 'Zhi ', 'Yan ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x73.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x73.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x73.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x73.pm       12 Oct 2011 
23:51:03 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x73] = [
+'Sha ', 'Li ', 'Han ', 'Xian ', 'Jing ', 'Pai ', 'Fei ', 'Yao ', 'Ba ', 'Qi ', 
'Ni ', 'Biao ', 'Yin ', 'Lai ', 'Xi ', 'Jian ',
+'Qiang ', 'Kun ', 'Yan ', 'Guo ', 'Zong ', 'Mi ', 'Chang ', 'Yi ', 'Zhi ', 
'Zheng ', 'Ya ', 'Meng ', 'Cai ', 'Cu ', 'She ', 'Kari ',
+'Cen ', 'Luo ', 'Hu ', 'Zong ', 'Ji ', 'Wei ', 'Feng ', 'Wo ', 'Yuan ', 'Xing 
', 'Zhu ', 'Mao ', 'Wei ', 'Yuan ', 'Xian ', 'Tuan ',
+'Ya ', 'Nao ', 'Xie ', 'Jia ', 'Hou ', 'Bian ', 'You ', 'You ', 'Mei ', 'Zha 
', 'Yao ', 'Sun ', 'Bo ', 'Ming ', 'Hua ', 'Yuan ',
+'Sou ', 'Ma ', 'Yuan ', 'Dai ', 'Yu ', 'Shi ', 'Hao ', qq{[?] }, 'Yi ', 'Zhen 
', 'Chuang ', 'Hao ', 'Man ', 'Jing ', 'Jiang ', 'Mu ',
+'Zhang ', 'Chan ', 'Ao ', 'Ao ', 'Hao ', 'Cui ', 'Fen ', 'Jue ', 'Bi ', 'Bi ', 
'Huang ', 'Pu ', 'Lin ', 'Yu ', 'Tong ', 'Yao ',
+'Liao ', 'Shuo ', 'Xiao ', 'Swu ', 'Ton ', 'Xi ', 'Ge ', 'Juan ', 'Du ', 'Hui 
', 'Kuai ', 'Xian ', 'Xie ', 'Ta ', 'Xian ', 'Xun ',
+'Ning ', 'Pin ', 'Huo ', 'Nou ', 'Meng ', 'Lie ', 'Nao ', 'Guang ', 'Shou ', 
'Lu ', 'Ta ', 'Xian ', 'Mi ', 'Rang ', 'Huan ', 'Nao ',
+'Luo ', 'Xian ', 'Qi ', 'Jue ', 'Xuan ', 'Miao ', 'Zi ', 'Lu ', 'Lu ', 'Yu ', 
'Su ', 'Wang ', 'Qiu ', 'Ga ', 'Ding ', 'Le ',
+'Ba ', 'Ji ', 'Hong ', 'Di ', 'Quan ', 'Gan ', 'Jiu ', 'Yu ', 'Ji ', 'Yu ', 
'Yang ', 'Ma ', 'Gong ', 'Wu ', 'Fu ', 'Wen ',
+'Jie ', 'Ya ', 'Fen ', 'Bian ', 'Beng ', 'Yue ', 'Jue ', 'Yun ', 'Jue ', 'Wan 
', 'Jian ', 'Mei ', 'Dan ', 'Pi ', 'Wei ', 'Huan ',
+'Xian ', 'Qiang ', 'Ling ', 'Dai ', 'Yi ', 'An ', 'Ping ', 'Dian ', 'Fu ', 
'Xuan ', 'Xi ', 'Bo ', 'Ci ', 'Gou ', 'Jia ', 'Shao ',
+'Po ', 'Ci ', 'Ke ', 'Ran ', 'Sheng ', 'Shen ', 'Yi ', 'Zu ', 'Jia ', 'Min ', 
'Shan ', 'Liu ', 'Bi ', 'Zhen ', 'Zhen ', 'Jue ',
+'Fa ', 'Long ', 'Jin ', 'Jiao ', 'Jian ', 'Li ', 'Guang ', 'Xian ', 'Zhou ', 
'Gong ', 'Yan ', 'Xiu ', 'Yang ', 'Xu ', 'Luo ', 'Su ',
+'Zhu ', 'Qin ', 'Ken ', 'Xun ', 'Bao ', 'Er ', 'Xiang ', 'Yao ', 'Xia ', 'Heng 
', 'Gui ', 'Chong ', 'Xu ', 'Ban ', 'Pei ', qq{[?] },
+'Dang ', 'Ei ', 'Hun ', 'Wen ', 'E ', 'Cheng ', 'Ti ', 'Wu ', 'Wu ', 'Cheng ', 
'Jun ', 'Mei ', 'Bei ', 'Ting ', 'Xian ', 'Chuo ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x74.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x74.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x74.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x74.pm       12 Oct 2011 
23:51:04 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x74] = [
+'Han ', 'Xuan ', 'Yan ', 'Qiu ', 'Quan ', 'Lang ', 'Li ', 'Xiu ', 'Fu ', 'Liu 
', 'Ye ', 'Xi ', 'Ling ', 'Li ', 'Jin ', 'Lian ',
+'Suo ', 'Chiisai ', qq{[?] }, 'Wan ', 'Dian ', 'Pin ', 'Zhan ', 'Cui ', 'Min 
', 'Yu ', 'Ju ', 'Chen ', 'Lai ', 'Wen ', 'Sheng ', 'Wei ',
+'Dian ', 'Chu ', 'Zhuo ', 'Pei ', 'Cheng ', 'Hu ', 'Qi ', 'E ', 'Kun ', 'Chang 
', 'Qi ', 'Beng ', 'Wan ', 'Lu ', 'Cong ', 'Guan ',
+'Yan ', 'Diao ', 'Bei ', 'Lin ', 'Qin ', 'Pi ', 'Pa ', 'Que ', 'Zhuo ', 'Qin 
', 'Fa ', qq{[?] }, 'Qiong ', 'Du ', 'Jie ', 'Hun ',
+'Yu ', 'Mao ', 'Mei ', 'Chun ', 'Xuan ', 'Ti ', 'Xing ', 'Dai ', 'Rou ', 'Min 
', 'Zhen ', 'Wei ', 'Ruan ', 'Huan ', 'Jie ', 'Chuan ',
+'Jian ', 'Zhuan ', 'Yang ', 'Lian ', 'Quan ', 'Xia ', 'Duan ', 'Yuan ', 'Ye ', 
'Nao ', 'Hu ', 'Ying ', 'Yu ', 'Huang ', 'Rui ', 'Se ',
+'Liu ', 'Shi ', 'Rong ', 'Suo ', 'Yao ', 'Wen ', 'Wu ', 'Jin ', 'Jin ', 'Ying 
', 'Ma ', 'Tao ', 'Liu ', 'Tang ', 'Li ', 'Lang ',
+'Gui ', 'Zhen ', 'Qiang ', 'Cuo ', 'Jue ', 'Zhao ', 'Yao ', 'Ai ', 'Bin ', 'Tu 
', 'Chang ', 'Kun ', 'Zhuan ', 'Cong ', 'Jin ', 'Yi ',
+'Cui ', 'Cong ', 'Qi ', 'Li ', 'Ying ', 'Suo ', 'Qiu ', 'Xuan ', 'Ao ', 'Lian 
', 'Man ', 'Zhang ', 'Yin ', qq{[?] }, 'Ying ', 'Zhi ',
+'Lu ', 'Wu ', 'Deng ', 'Xiou ', 'Zeng ', 'Xun ', 'Qu ', 'Dang ', 'Lin ', 'Liao 
', 'Qiong ', 'Su ', 'Huang ', 'Gui ', 'Pu ', 'Jing ',
+'Fan ', 'Jin ', 'Liu ', 'Ji ', qq{[?] }, 'Jing ', 'Ai ', 'Bi ', 'Can ', 'Qu ', 
'Zao ', 'Dang ', 'Jiao ', 'Gun ', 'Tan ', 'Hui ',
+'Huan ', 'Se ', 'Sui ', 'Tian ', qq{[?] }, 'Yu ', 'Jin ', 'Lu ', 'Bin ', 'Shou 
', 'Wen ', 'Zui ', 'Lan ', 'Xi ', 'Ji ', 'Xuan ',
+'Ruan ', 'Huo ', 'Gai ', 'Lei ', 'Du ', 'Li ', 'Zhi ', 'Rou ', 'Li ', 'Zan ', 
'Qiong ', 'Zhe ', 'Gui ', 'Sui ', 'La ', 'Long ',
+'Lu ', 'Li ', 'Zan ', 'Lan ', 'Ying ', 'Mi ', 'Xiang ', 'Xi ', 'Guan ', 'Dao 
', 'Zan ', 'Huan ', 'Gua ', 'Bo ', 'Die ', 'Bao ',
+'Hu ', 'Zhi ', 'Piao ', 'Ban ', 'Rang ', 'Li ', 'Wa ', 'Dekaguramu ', 'Jiang 
', 'Qian ', 'Fan ', 'Pen ', 'Fang ', 'Dan ', 'Weng ', 'Ou ',
+'Deshiguramu ', 'Miriguramu ', 'Thon ', 'Hu ', 'Ling ', 'Yi ', 'Ping ', 'Ci ', 
'Hekutogura ', 'Juan ', 'Chang ', 'Chi ', 'Sarake ', 'Dang ', 'Meng ', 'Pou ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x75.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x75.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x75.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x75.pm       12 Oct 2011 
23:51:04 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x75] = [
+'Zhui ', 'Ping ', 'Bian ', 'Zhou ', 'Zhen ', 'Senchigura ', 'Ci ', 'Ying ', 
'Qi ', 'Xian ', 'Lou ', 'Di ', 'Ou ', 'Meng ', 'Zhuan ', 'Peng ',
+'Lin ', 'Zeng ', 'Wu ', 'Pi ', 'Dan ', 'Weng ', 'Ying ', 'Yan ', 'Gan ', 'Dai 
', 'Shen ', 'Tian ', 'Tian ', 'Han ', 'Chang ', 'Sheng ',
+'Qing ', 'Sheng ', 'Chan ', 'Chan ', 'Rui ', 'Sheng ', 'Su ', 'Sen ', 'Yong ', 
'Shuai ', 'Lu ', 'Fu ', 'Yong ', 'Beng ', 'Feng ', 'Ning ',
+'Tian ', 'You ', 'Jia ', 'Shen ', 'Zha ', 'Dian ', 'Fu ', 'Nan ', 'Dian ', 
'Ping ', 'Ting ', 'Hua ', 'Ting ', 'Quan ', 'Zi ', 'Meng ',
+'Bi ', 'Qi ', 'Liu ', 'Xun ', 'Liu ', 'Chang ', 'Mu ', 'Yun ', 'Fan ', 'Fu ', 
'Geng ', 'Tian ', 'Jie ', 'Jie ', 'Quan ', 'Wei ',
+'Fu ', 'Tian ', 'Mu ', 'Tap ', 'Pan ', 'Jiang ', 'Wa ', 'Da ', 'Nan ', 'Liu ', 
'Ben ', 'Zhen ', 'Chu ', 'Mu ', 'Mu ', 'Ce ',
+'Cen ', 'Gai ', 'Bi ', 'Da ', 'Zhi ', 'Lue ', 'Qi ', 'Lue ', 'Pan ', 'Kesa ', 
'Fan ', 'Hua ', 'Yu ', 'Yu ', 'Mu ', 'Jun ',
+'Yi ', 'Liu ', 'Yu ', 'Die ', 'Chou ', 'Hua ', 'Dang ', 'Chuo ', 'Ji ', 'Wan 
', 'Jiang ', 'Sheng ', 'Chang ', 'Tuan ', 'Lei ', 'Ji ',
+'Cha ', 'Liu ', 'Tatamu ', 'Tuan ', 'Lin ', 'Jiang ', 'Jiang ', 'Chou ', 'Bo 
', 'Die ', 'Die ', 'Pi ', 'Nie ', 'Dan ', 'Shu ', 'Shu ',
+'Zhi ', 'Yi ', 'Chuang ', 'Nai ', 'Ding ', 'Bi ', 'Jie ', 'Liao ', 'Gong ', 
'Ge ', 'Jiu ', 'Zhou ', 'Xia ', 'Shan ', 'Xu ', 'Nue ',
+'Li ', 'Yang ', 'Chen ', 'You ', 'Ba ', 'Jie ', 'Jue ', 'Zhi ', 'Xia ', 'Cui 
', 'Bi ', 'Yi ', 'Li ', 'Zong ', 'Chuang ', 'Feng ',
+'Zhu ', 'Pao ', 'Pi ', 'Gan ', 'Ke ', 'Ci ', 'Xie ', 'Qi ', 'Dan ', 'Zhen ', 
'Fa ', 'Zhi ', 'Teng ', 'Ju ', 'Ji ', 'Fei ',
+'Qu ', 'Dian ', 'Jia ', 'Xian ', 'Cha ', 'Bing ', 'Ni ', 'Zheng ', 'Yong ', 
'Jing ', 'Quan ', 'Chong ', 'Tong ', 'Yi ', 'Kai ', 'Wei ',
+'Hui ', 'Duo ', 'Yang ', 'Chi ', 'Zhi ', 'Hen ', 'Ya ', 'Mei ', 'Dou ', 'Jing 
', 'Xiao ', 'Tong ', 'Tu ', 'Mang ', 'Pi ', 'Xiao ',
+'Suan ', 'Pu ', 'Li ', 'Zhi ', 'Cuo ', 'Duo ', 'Wu ', 'Sha ', 'Lao ', 'Shou ', 
'Huan ', 'Xian ', 'Yi ', 'Peng ', 'Zhang ', 'Guan ',
+'Tan ', 'Fei ', 'Ma ', 'Lin ', 'Chi ', 'Ji ', 'Dian ', 'An ', 'Chi ', 'Bi ', 
'Bei ', 'Min ', 'Gu ', 'Dui ', 'E ', 'Wei ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x76.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x76.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x76.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x76.pm       12 Oct 2011 
23:51:04 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x76] = [
+'Yu ', 'Cui ', 'Ya ', 'Zhu ', 'Cu ', 'Dan ', 'Shen ', 'Zhung ', 'Ji ', 'Yu ', 
'Hou ', 'Feng ', 'La ', 'Yang ', 'Shen ', 'Tu ',
+'Yu ', 'Gua ', 'Wen ', 'Huan ', 'Ku ', 'Jia ', 'Yin ', 'Yi ', 'Lu ', 'Sao ', 
'Jue ', 'Chi ', 'Xi ', 'Guan ', 'Yi ', 'Wen ',
+'Ji ', 'Chuang ', 'Ban ', 'Lei ', 'Liu ', 'Chai ', 'Shou ', 'Nue ', 'Dian ', 
'Da ', 'Pie ', 'Tan ', 'Zhang ', 'Biao ', 'Shen ', 'Cu ',
+'Luo ', 'Yi ', 'Zong ', 'Chou ', 'Zhang ', 'Zhai ', 'Sou ', 'Suo ', 'Que ', 
'Diao ', 'Lou ', 'Lu ', 'Mo ', 'Jin ', 'Yin ', 'Ying ',
+'Huang ', 'Fu ', 'Liao ', 'Long ', 'Qiao ', 'Liu ', 'Lao ', 'Xian ', 'Fei ', 
'Dan ', 'Yin ', 'He ', 'Yan ', 'Ban ', 'Xian ', 'Guan ',
+'Guai ', 'Nong ', 'Yu ', 'Wei ', 'Yi ', 'Yong ', 'Pi ', 'Lei ', 'Li ', 'Shu ', 
'Dan ', 'Lin ', 'Dian ', 'Lin ', 'Lai ', 'Pie ',
+'Ji ', 'Chi ', 'Yang ', 'Xian ', 'Jie ', 'Zheng ', qq{[?] }, 'Li ', 'Huo ', 
'Lai ', 'Shaku ', 'Dian ', 'Xian ', 'Ying ', 'Yin ', 'Qu ',
+'Yong ', 'Tan ', 'Dian ', 'Luo ', 'Luan ', 'Luan ', 'Bo ', qq{[?] }, 'Gui ', 
'Po ', 'Fa ', 'Deng ', 'Fa ', 'Bai ', 'Bai ', 'Qie ',
+'Bi ', 'Zao ', 'Zao ', 'Mao ', 'De ', 'Pa ', 'Jie ', 'Huang ', 'Gui ', 'Ci ', 
'Ling ', 'Gao ', 'Mo ', 'Ji ', 'Jiao ', 'Peng ',
+'Gao ', 'Ai ', 'E ', 'Hao ', 'Han ', 'Bi ', 'Wan ', 'Chou ', 'Qian ', 'Xi ', 
'Ai ', 'Jiong ', 'Hao ', 'Huang ', 'Hao ', 'Ze ',
+'Cui ', 'Hao ', 'Xiao ', 'Ye ', 'Po ', 'Hao ', 'Jiao ', 'Ai ', 'Xing ', 'Huang 
', 'Li ', 'Piao ', 'He ', 'Jiao ', 'Pi ', 'Gan ',
+'Pao ', 'Zhou ', 'Jun ', 'Qiu ', 'Cun ', 'Que ', 'Zha ', 'Gu ', 'Jun ', 'Jun 
', 'Zhou ', 'Zha ', 'Gu ', 'Zhan ', 'Du ', 'Min ',
+'Qi ', 'Ying ', 'Yu ', 'Bei ', 'Zhao ', 'Zhong ', 'Pen ', 'He ', 'Ying ', 'He 
', 'Yi ', 'Bo ', 'Wan ', 'He ', 'Ang ', 'Zhan ',
+'Yan ', 'Jian ', 'He ', 'Yu ', 'Kui ', 'Fan ', 'Gai ', 'Dao ', 'Pan ', 'Fu ', 
'Qiu ', 'Sheng ', 'Dao ', 'Lu ', 'Zhan ', 'Meng ',
+'Li ', 'Jin ', 'Xu ', 'Jian ', 'Pan ', 'Guan ', 'An ', 'Lu ', 'Shu ', 'Zhou ', 
'Dang ', 'An ', 'Gu ', 'Li ', 'Mu ', 'Cheng ',
+'Gan ', 'Xu ', 'Mang ', 'Mang ', 'Zhi ', 'Qi ', 'Ruan ', 'Tian ', 'Xiang ', 
'Dun ', 'Xin ', 'Xi ', 'Pan ', 'Feng ', 'Dun ', 'Min ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x77.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x77.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x77.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x77.pm       12 Oct 2011 
23:51:04 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:32 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x77] = [
+'Ming ', 'Sheng ', 'Shi ', 'Yun ', 'Mian ', 'Pan ', 'Fang ', 'Miao ', 'Dan ', 
'Mei ', 'Mao ', 'Kan ', 'Xian ', 'Ou ', 'Shi ', 'Yang ',
+'Zheng ', 'Yao ', 'Shen ', 'Huo ', 'Da ', 'Zhen ', 'Kuang ', 'Ju ', 'Shen ', 
'Chi ', 'Sheng ', 'Mei ', 'Mo ', 'Zhu ', 'Zhen ', 'Zhen ',
+'Mian ', 'Di ', 'Yuan ', 'Die ', 'Yi ', 'Zi ', 'Zi ', 'Chao ', 'Zha ', 'Xuan 
', 'Bing ', 'Mi ', 'Long ', 'Sui ', 'Dong ', 'Mi ',
+'Die ', 'Yi ', 'Er ', 'Ming ', 'Xuan ', 'Chi ', 'Kuang ', 'Juan ', 'Mou ', 
'Zhen ', 'Tiao ', 'Yang ', 'Yan ', 'Mo ', 'Zhong ', 'Mai ',
+'Zhao ', 'Zheng ', 'Mei ', 'Jun ', 'Shao ', 'Han ', 'Huan ', 'Di ', 'Cheng ', 
'Cuo ', 'Juan ', 'E ', 'Wan ', 'Xian ', 'Xi ', 'Kun ',
+'Lai ', 'Jian ', 'Shan ', 'Tian ', 'Hun ', 'Wan ', 'Ling ', 'Shi ', 'Qiong ', 
'Lie ', 'Yai ', 'Jing ', 'Zheng ', 'Li ', 'Lai ', 'Sui ',
+'Juan ', 'Shui ', 'Sui ', 'Du ', 'Bi ', 'Bi ', 'Mu ', 'Hun ', 'Ni ', 'Lu ', 
'Yi ', 'Jie ', 'Cai ', 'Zhou ', 'Yu ', 'Hun ',
+'Ma ', 'Xia ', 'Xing ', 'Xi ', 'Gun ', 'Cai ', 'Chun ', 'Jian ', 'Mei ', 'Du 
', 'Hou ', 'Xuan ', 'Ti ', 'Kui ', 'Gao ', 'Rui ',
+'Mou ', 'Xu ', 'Fa ', 'Wen ', 'Miao ', 'Chou ', 'Kui ', 'Mi ', 'Weng ', 'Kou 
', 'Dang ', 'Chen ', 'Ke ', 'Sou ', 'Xia ', 'Qiong ',
+'Mao ', 'Ming ', 'Man ', 'Shui ', 'Ze ', 'Zhang ', 'Yi ', 'Diao ', 'Ou ', 'Mo 
', 'Shun ', 'Cong ', 'Lou ', 'Chi ', 'Man ', 'Piao ',
+'Cheng ', 'Ji ', 'Meng ', qq{[?] }, 'Run ', 'Pie ', 'Xi ', 'Qiao ', 'Pu ', 
'Zhu ', 'Deng ', 'Shen ', 'Shun ', 'Liao ', 'Che ', 'Xian ',
+'Kan ', 'Ye ', 'Xu ', 'Tong ', 'Mou ', 'Lin ', 'Kui ', 'Xian ', 'Ye ', 'Ai ', 
'Hui ', 'Zhan ', 'Jian ', 'Gu ', 'Zhao ', 'Qu ',
+'Wei ', 'Chou ', 'Sao ', 'Ning ', 'Xun ', 'Yao ', 'Huo ', 'Meng ', 'Mian ', 
'Bin ', 'Mian ', 'Li ', 'Kuang ', 'Jue ', 'Xuan ', 'Mian ',
+'Huo ', 'Lu ', 'Meng ', 'Long ', 'Guan ', 'Man ', 'Xi ', 'Chu ', 'Tang ', 'Kan 
', 'Zhu ', 'Mao ', 'Jin ', 'Lin ', 'Yu ', 'Shuo ',
+'Ce ', 'Jue ', 'Shi ', 'Yi ', 'Shen ', 'Zhi ', 'Hou ', 'Shen ', 'Ying ', 'Ju 
', 'Zhou ', 'Jiao ', 'Cuo ', 'Duan ', 'Ai ', 'Jiao ',
+'Zeng ', 'Huo ', 'Bai ', 'Shi ', 'Ding ', 'Qi ', 'Ji ', 'Zi ', 'Gan ', 'Wu ', 
'Tuo ', 'Ku ', 'Qiang ', 'Xi ', 'Fan ', 'Kuang ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x78.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x78.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x78.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x78.pm       12 Oct 2011 
23:51:04 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x78] = [
+'Dang ', 'Ma ', 'Sha ', 'Dan ', 'Jue ', 'Li ', 'Fu ', 'Min ', 'Nuo ', 'Huo ', 
'Kang ', 'Zhi ', 'Qi ', 'Kan ', 'Jie ', 'Fen ',
+'E ', 'Ya ', 'Pi ', 'Zhe ', 'Yan ', 'Sui ', 'Zhuan ', 'Che ', 'Dun ', 'Pan ', 
'Yan ', qq{[?] }, 'Feng ', 'Fa ', 'Mo ', 'Zha ',
+'Qu ', 'Yu ', 'Luo ', 'Tuo ', 'Tuo ', 'Di ', 'Zhai ', 'Zhen ', 'Ai ', 'Fei ', 
'Mu ', 'Zhu ', 'Li ', 'Bian ', 'Nu ', 'Ping ',
+'Peng ', 'Ling ', 'Pao ', 'Le ', 'Po ', 'Bo ', 'Po ', 'Shen ', 'Za ', 'Nuo ', 
'Li ', 'Long ', 'Tong ', qq{[?] }, 'Li ', 'Aragane ',
+'Chu ', 'Keng ', 'Quan ', 'Zhu ', 'Kuang ', 'Huo ', 'E ', 'Nao ', 'Jia ', 'Lu 
', 'Wei ', 'Ai ', 'Luo ', 'Ken ', 'Xing ', 'Yan ',
+'Tong ', 'Peng ', 'Xi ', qq{[?] }, 'Hong ', 'Shuo ', 'Xia ', 'Qiao ', qq{[?] 
}, 'Wei ', 'Qiao ', qq{[?] }, 'Keng ', 'Xiao ', 'Que ', 'Chan ',
+'Lang ', 'Hong ', 'Yu ', 'Xiao ', 'Xia ', 'Mang ', 'Long ', 'Iong ', 'Che ', 
'Che ', 'E ', 'Liu ', 'Ying ', 'Mang ', 'Que ', 'Yan ',
+'Sha ', 'Kun ', 'Yu ', qq{[?] }, 'Kaki ', 'Lu ', 'Chen ', 'Jian ', 'Nue ', 
'Song ', 'Zhuo ', 'Keng ', 'Peng ', 'Yan ', 'Zhui ', 'Kong ',
+'Ceng ', 'Qi ', 'Zong ', 'Qing ', 'Lin ', 'Jun ', 'Bo ', 'Ding ', 'Min ', 
'Diao ', 'Jian ', 'He ', 'Lu ', 'Ai ', 'Sui ', 'Que ',
+'Ling ', 'Bei ', 'Yin ', 'Dui ', 'Wu ', 'Qi ', 'Lun ', 'Wan ', 'Dian ', 'Gang 
', 'Pei ', 'Qi ', 'Chen ', 'Ruan ', 'Yan ', 'Die ',
+'Ding ', 'Du ', 'Tuo ', 'Jie ', 'Ying ', 'Bian ', 'Ke ', 'Bi ', 'Wei ', 'Shuo 
', 'Zhen ', 'Duan ', 'Xia ', 'Dang ', 'Ti ', 'Nao ',
+'Peng ', 'Jian ', 'Di ', 'Tan ', 'Cha ', 'Seki ', 'Qi ', qq{[?] }, 'Feng ', 
'Xuan ', 'Que ', 'Que ', 'Ma ', 'Gong ', 'Nian ', 'Su ',
+'E ', 'Ci ', 'Liu ', 'Si ', 'Tang ', 'Bang ', 'Hua ', 'Pi ', 'Wei ', 'Sang ', 
'Lei ', 'Cuo ', 'Zhen ', 'Xia ', 'Qi ', 'Lian ',
+'Pan ', 'Wei ', 'Yun ', 'Dui ', 'Zhe ', 'Ke ', 'La ', qq{[?] }, 'Qing ', 'Gun 
', 'Zhuan ', 'Chan ', 'Qi ', 'Ao ', 'Peng ', 'Lu ',
+'Lu ', 'Kan ', 'Qiang ', 'Chen ', 'Yin ', 'Lei ', 'Biao ', 'Qi ', 'Mo ', 'Qi 
', 'Cui ', 'Zong ', 'Qing ', 'Chuo ', qq{[?] }, 'Ji ',
+'Shan ', 'Lao ', 'Qu ', 'Zeng ', 'Deng ', 'Jian ', 'Xi ', 'Lin ', 'Ding ', 
'Dian ', 'Huang ', 'Pan ', 'Za ', 'Qiao ', 'Di ', 'Li ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x79.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x79.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x79.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x79.pm       12 Oct 2011 
23:51:04 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x79] = [
+'Tani ', 'Jiao ', qq{[?] }, 'Zhang ', 'Qiao ', 'Dun ', 'Xian ', 'Yu ', 'Zhui 
', 'He ', 'Huo ', 'Zhai ', 'Lei ', 'Ke ', 'Chu ', 'Ji ',
+'Que ', 'Dang ', 'Yi ', 'Jiang ', 'Pi ', 'Pi ', 'Yu ', 'Pin ', 'Qi ', 'Ai ', 
'Kai ', 'Jian ', 'Yu ', 'Ruan ', 'Meng ', 'Pao ',
+'Ci ', qq{[?] }, qq{[?] }, 'Mie ', 'Ca ', 'Xian ', 'Kuang ', 'Lei ', 'Lei ', 
'Zhi ', 'Li ', 'Li ', 'Fan ', 'Que ', 'Pao ', 'Ying ',
+'Li ', 'Long ', 'Long ', 'Mo ', 'Bo ', 'Shuang ', 'Guan ', 'Lan ', 'Zan ', 
'Yan ', 'Shi ', 'Shi ', 'Li ', 'Reng ', 'She ', 'Yue ',
+'Si ', 'Qi ', 'Ta ', 'Ma ', 'Xie ', 'Xian ', 'Xian ', 'Zhi ', 'Qi ', 'Zhi ', 
'Beng ', 'Dui ', 'Zhong ', qq{[?] }, 'Yi ', 'Shi ',
+'You ', 'Zhi ', 'Tiao ', 'Fu ', 'Fu ', 'Mi ', 'Zu ', 'Zhi ', 'Suan ', 'Mei ', 
'Zuo ', 'Qu ', 'Hu ', 'Zhu ', 'Shen ', 'Sui ',
+'Ci ', 'Chai ', 'Mi ', 'Lu ', 'Yu ', 'Xiang ', 'Wu ', 'Tiao ', 'Piao ', 'Zhu 
', 'Gui ', 'Xia ', 'Zhi ', 'Ji ', 'Gao ', 'Zhen ',
+'Gao ', 'Shui ', 'Jin ', 'Chen ', 'Gai ', 'Kun ', 'Di ', 'Dao ', 'Huo ', 'Tao 
', 'Qi ', 'Gu ', 'Guan ', 'Zui ', 'Ling ', 'Lu ',
+'Bing ', 'Jin ', 'Dao ', 'Zhi ', 'Lu ', 'Shan ', 'Bei ', 'Zhe ', 'Hui ', 'You 
', 'Xi ', 'Yin ', 'Zi ', 'Huo ', 'Zhen ', 'Fu ',
+'Yuan ', 'Wu ', 'Xian ', 'Yang ', 'Ti ', 'Yi ', 'Mei ', 'Si ', 'Di ', qq{[?] 
}, 'Zhuo ', 'Zhen ', 'Yong ', 'Ji ', 'Gao ', 'Tang ',
+'Si ', 'Ma ', 'Ta ', qq{[?] }, 'Xuan ', 'Qi ', 'Yu ', 'Xi ', 'Ji ', 'Si ', 
'Chan ', 'Tan ', 'Kuai ', 'Sui ', 'Li ', 'Nong ',
+'Ni ', 'Dao ', 'Li ', 'Rang ', 'Yue ', 'Ti ', 'Zan ', 'Lei ', 'Rou ', 'Yu ', 
'Yu ', 'Chi ', 'Xie ', 'Qin ', 'He ', 'Tu ',
+'Xiu ', 'Si ', 'Ren ', 'Tu ', 'Zi ', 'Cha ', 'Gan ', 'Yi ', 'Xian ', 'Bing ', 
'Nian ', 'Qiu ', 'Qiu ', 'Chong ', 'Fen ', 'Hao ',
+'Yun ', 'Ke ', 'Miao ', 'Zhi ', 'Geng ', 'Bi ', 'Zhi ', 'Yu ', 'Mi ', 'Ku ', 
'Ban ', 'Pi ', 'Ni ', 'Li ', 'You ', 'Zu ',
+'Pi ', 'Ba ', 'Ling ', 'Mo ', 'Cheng ', 'Nian ', 'Qin ', 'Yang ', 'Zuo ', 'Zhi 
', 'Zhi ', 'Shu ', 'Ju ', 'Zi ', 'Huo ', 'Ji ',
+'Cheng ', 'Tong ', 'Zhi ', 'Huo ', 'He ', 'Yin ', 'Zi ', 'Zhi ', 'Jie ', 'Ren 
', 'Du ', 'Yi ', 'Zhu ', 'Hui ', 'Nong ', 'Fu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7a.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7a.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7a.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7a.pm       12 Oct 2011 
23:51:04 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x7a] = [
+'Xi ', 'Kao ', 'Lang ', 'Fu ', 'Ze ', 'Shui ', 'Lu ', 'Kun ', 'Gan ', 'Geng ', 
'Ti ', 'Cheng ', 'Tu ', 'Shao ', 'Shui ', 'Ya ',
+'Lun ', 'Lu ', 'Gu ', 'Zuo ', 'Ren ', 'Zhun ', 'Bang ', 'Bai ', 'Ji ', 'Zhi ', 
'Zhi ', 'Kun ', 'Leng ', 'Peng ', 'Ke ', 'Bing ',
+'Chou ', 'Zu ', 'Yu ', 'Su ', 'Lue ', qq{[?] }, 'Yi ', 'Xi ', 'Bian ', 'Ji ', 
'Fu ', 'Bi ', 'Nuo ', 'Jie ', 'Zhong ', 'Zong ',
+'Xu ', 'Cheng ', 'Dao ', 'Wen ', 'Lian ', 'Zi ', 'Yu ', 'Ji ', 'Xu ', 'Zhen ', 
'Zhi ', 'Dao ', 'Jia ', 'Ji ', 'Gao ', 'Gao ',
+'Gu ', 'Rong ', 'Sui ', 'You ', 'Ji ', 'Kang ', 'Mu ', 'Shan ', 'Men ', 'Zhi 
', 'Ji ', 'Lu ', 'Su ', 'Ji ', 'Ying ', 'Wen ',
+'Qiu ', 'Se ', qq{[?] }, 'Yi ', 'Huang ', 'Qie ', 'Ji ', 'Sui ', 'Xiao ', 'Pu 
', 'Jiao ', 'Zhuo ', 'Tong ', 'Sai ', 'Lu ', 'Sui ',
+'Nong ', 'Se ', 'Hui ', 'Rang ', 'Nuo ', 'Yu ', 'Bin ', 'Ji ', 'Tui ', 'Wen ', 
'Cheng ', 'Huo ', 'Gong ', 'Lu ', 'Biao ', qq{[?] },
+'Rang ', 'Zhuo ', 'Li ', 'Zan ', 'Xue ', 'Wa ', 'Jiu ', 'Qiong ', 'Xi ', 
'Qiong ', 'Kong ', 'Yu ', 'Sen ', 'Jing ', 'Yao ', 'Chuan ',
+'Zhun ', 'Tu ', 'Lao ', 'Qie ', 'Zhai ', 'Yao ', 'Bian ', 'Bao ', 'Yao ', 
'Bing ', 'Wa ', 'Zhu ', 'Jiao ', 'Qiao ', 'Diao ', 'Wu ',
+'Gui ', 'Yao ', 'Zhi ', 'Chuang ', 'Yao ', 'Tiao ', 'Jiao ', 'Chuang ', 'Jiong 
', 'Xiao ', 'Cheng ', 'Kou ', 'Cuan ', 'Wo ', 'Dan ', 'Ku ',
+'Ke ', 'Zhui ', 'Xu ', 'Su ', 'Guan ', 'Kui ', 'Dou ', qq{[?] }, 'Yin ', 'Wo 
', 'Wa ', 'Ya ', 'Yu ', 'Ju ', 'Qiong ', 'Yao ',
+'Yao ', 'Tiao ', 'Chao ', 'Yu ', 'Tian ', 'Diao ', 'Ju ', 'Liao ', 'Xi ', 'Wu 
', 'Kui ', 'Chuang ', 'Zhao ', qq{[?] }, 'Kuan ', 'Long ',
+'Cheng ', 'Cui ', 'Piao ', 'Zao ', 'Cuan ', 'Qiao ', 'Qiong ', 'Dou ', 'Zao ', 
'Long ', 'Qie ', 'Li ', 'Chu ', 'Shi ', 'Fou ', 'Qian ',
+'Chu ', 'Hong ', 'Qi ', 'Qian ', 'Gong ', 'Shi ', 'Shu ', 'Miao ', 'Ju ', 
'Zhan ', 'Zhu ', 'Ling ', 'Long ', 'Bing ', 'Jing ', 'Jing ',
+'Zhang ', 'Yi ', 'Si ', 'Jun ', 'Hong ', 'Tong ', 'Song ', 'Jing ', 'Diao ', 
'Yi ', 'Shu ', 'Jing ', 'Qu ', 'Jie ', 'Ping ', 'Duan ',
+'Shao ', 'Zhuan ', 'Ceng ', 'Deng ', 'Cui ', 'Huai ', 'Jing ', 'Kan ', 'Jing 
', 'Zhu ', 'Zhu ', 'Le ', 'Peng ', 'Yu ', 'Chi ', 'Gan ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7b.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7b.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7b.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7b.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x7b] = [
+'Mang ', 'Zhu ', 'Utsubo ', 'Du ', 'Ji ', 'Xiao ', 'Ba ', 'Suan ', 'Ji ', 
'Zhen ', 'Zhao ', 'Sun ', 'Ya ', 'Zhui ', 'Yuan ', 'Hu ',
+'Gang ', 'Xiao ', 'Cen ', 'Pi ', 'Bi ', 'Jian ', 'Yi ', 'Dong ', 'Shan ', 
'Sheng ', 'Xia ', 'Di ', 'Zhu ', 'Na ', 'Chi ', 'Gu ',
+'Li ', 'Qie ', 'Min ', 'Bao ', 'Tiao ', 'Si ', 'Fu ', 'Ce ', 'Ben ', 'Pei ', 
'Da ', 'Zi ', 'Di ', 'Ling ', 'Ze ', 'Nu ',
+'Fu ', 'Gou ', 'Fan ', 'Jia ', 'Ge ', 'Fan ', 'Shi ', 'Mao ', 'Po ', 'Sey ', 
'Jian ', 'Qiong ', 'Long ', 'Souke ', 'Bian ', 'Luo ',
+'Gui ', 'Qu ', 'Chi ', 'Yin ', 'Yao ', 'Xian ', 'Bi ', 'Qiong ', 'Gua ', 'Deng 
', 'Jiao ', 'Jin ', 'Quan ', 'Sun ', 'Ru ', 'Fa ',
+'Kuang ', 'Zhu ', 'Tong ', 'Ji ', 'Da ', 'Xing ', 'Ce ', 'Zhong ', 'Kou ', 
'Lai ', 'Bi ', 'Shai ', 'Dang ', 'Zheng ', 'Ce ', 'Fu ',
+'Yun ', 'Tu ', 'Pa ', 'Li ', 'Lang ', 'Ju ', 'Guan ', 'Jian ', 'Han ', 'Tong 
', 'Xia ', 'Zhi ', 'Cheng ', 'Suan ', 'Shi ', 'Zhu ',
+'Zuo ', 'Xiao ', 'Shao ', 'Ting ', 'Ce ', 'Yan ', 'Gao ', 'Kuai ', 'Gan ', 
'Chou ', 'Kago ', 'Gang ', 'Yun ', 'O ', 'Qian ', 'Xiao ',
+'Jian ', 'Pu ', 'Lai ', 'Zou ', 'Bi ', 'Bi ', 'Bi ', 'Ge ', 'Chi ', 'Guai ', 
'Yu ', 'Jian ', 'Zhao ', 'Gu ', 'Chi ', 'Zheng ',
+'Jing ', 'Sha ', 'Zhou ', 'Lu ', 'Bo ', 'Ji ', 'Lin ', 'Suan ', 'Jun ', 'Fu ', 
'Zha ', 'Gu ', 'Kong ', 'Qian ', 'Quan ', 'Jun ',
+'Chui ', 'Guan ', 'Yuan ', 'Ce ', 'Ju ', 'Bo ', 'Ze ', 'Qie ', 'Tuo ', 'Luo ', 
'Dan ', 'Xiao ', 'Ruo ', 'Jian ', 'Xuan ', 'Bian ',
+'Sun ', 'Xiang ', 'Xian ', 'Ping ', 'Zhen ', 'Sheng ', 'Hu ', 'Shi ', 'Zhu ', 
'Yue ', 'Chun ', 'Lu ', 'Wu ', 'Dong ', 'Xiao ', 'Ji ',
+'Jie ', 'Huang ', 'Xing ', 'Mei ', 'Fan ', 'Chui ', 'Zhuan ', 'Pian ', 'Feng 
', 'Zhu ', 'Hong ', 'Qie ', 'Hou ', 'Qiu ', 'Miao ', 'Qian ',
+qq{[?] }, 'Kui ', 'Sik ', 'Lou ', 'Yun ', 'He ', 'Tang ', 'Yue ', 'Chou ', 
'Gao ', 'Fei ', 'Ruo ', 'Zheng ', 'Gou ', 'Nie ', 'Qian ',
+'Xiao ', 'Cuan ', 'Gong ', 'Pang ', 'Du ', 'Li ', 'Bi ', 'Zhuo ', 'Chu ', 
'Shai ', 'Chi ', 'Zhu ', 'Qiang ', 'Long ', 'Lan ', 'Jian ',
+'Bu ', 'Li ', 'Hui ', 'Bi ', 'Di ', 'Cong ', 'Yan ', 'Peng ', 'Sen ', 'Zhuan 
', 'Pai ', 'Piao ', 'Dou ', 'Yu ', 'Mie ', 'Zhuan ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7c.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7c.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7c.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7c.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x7c] = [
+'Ze ', 'Xi ', 'Guo ', 'Yi ', 'Hu ', 'Chan ', 'Kou ', 'Cu ', 'Ping ', 'Chou ', 
'Ji ', 'Gui ', 'Su ', 'Lou ', 'Zha ', 'Lu ',
+'Nian ', 'Suo ', 'Cuan ', 'Sasara ', 'Suo ', 'Le ', 'Duan ', 'Yana ', 'Xiao ', 
'Bo ', 'Mi ', 'Si ', 'Dang ', 'Liao ', 'Dan ', 'Dian ',
+'Fu ', 'Jian ', 'Min ', 'Kui ', 'Dai ', 'Qiao ', 'Deng ', 'Huang ', 'Sun ', 
'Lao ', 'Zan ', 'Xiao ', 'Du ', 'Shi ', 'Zan ', qq{[?] },
+'Pai ', 'Hata ', 'Pai ', 'Gan ', 'Ju ', 'Du ', 'Lu ', 'Yan ', 'Bo ', 'Dang ', 
'Sai ', 'Ke ', 'Long ', 'Qian ', 'Lian ', 'Bo ',
+'Zhou ', 'Lai ', qq{[?] }, 'Lan ', 'Kui ', 'Yu ', 'Yue ', 'Hao ', 'Zhen ', 
'Tai ', 'Ti ', 'Mi ', 'Chou ', 'Ji ', qq{[?] }, 'Hata ',
+'Teng ', 'Zhuan ', 'Zhou ', 'Fan ', 'Sou ', 'Zhou ', 'Kuji ', 'Zhuo ', 'Teng 
', 'Lu ', 'Lu ', 'Jian ', 'Tuo ', 'Ying ', 'Yu ', 'Lai ',
+'Long ', 'Shinshi ', 'Lian ', 'Lan ', 'Qian ', 'Yue ', 'Zhong ', 'Qu ', 'Lian 
', 'Bian ', 'Duan ', 'Zuan ', 'Li ', 'Si ', 'Luo ', 'Ying ',
+'Yue ', 'Zhuo ', 'Xu ', 'Mi ', 'Di ', 'Fan ', 'Shen ', 'Zhe ', 'Shen ', 'Nu ', 
'Xie ', 'Lei ', 'Xian ', 'Zi ', 'Ni ', 'Cun ',
+qq{[?] }, 'Qian ', 'Kume ', 'Bi ', 'Ban ', 'Wu ', 'Sha ', 'Kang ', 'Rou ', 
'Fen ', 'Bi ', 'Cui ', qq{[?] }, 'Li ', 'Chi ', 'Nukamiso ',
+'Ro ', 'Ba ', 'Li ', 'Gan ', 'Ju ', 'Po ', 'Mo ', 'Cu ', 'Nian ', 'Zhou ', 'Li 
', 'Su ', 'Tiao ', 'Li ', 'Qi ', 'Su ',
+'Hong ', 'Tong ', 'Zi ', 'Ce ', 'Yue ', 'Zhou ', 'Lin ', 'Zhuang ', 'Bai ', 
qq{[?] }, 'Fen ', 'Ji ', qq{[?] }, 'Sukumo ', 'Liang ', 'Xian ',
+'Fu ', 'Liang ', 'Can ', 'Geng ', 'Li ', 'Yue ', 'Lu ', 'Ju ', 'Qi ', 'Cui ', 
'Bai ', 'Zhang ', 'Lin ', 'Zong ', 'Jing ', 'Guo ',
+'Kouji ', 'San ', 'San ', 'Tang ', 'Bian ', 'Rou ', 'Mian ', 'Hou ', 'Xu ', 
'Zong ', 'Hu ', 'Jian ', 'Zan ', 'Ci ', 'Li ', 'Xie ',
+'Fu ', 'Ni ', 'Bei ', 'Gu ', 'Xiu ', 'Gao ', 'Tang ', 'Qiu ', 'Sukumo ', 'Cao 
', 'Zhuang ', 'Tang ', 'Mi ', 'San ', 'Fen ', 'Zao ',
+'Kang ', 'Jiang ', 'Mo ', 'San ', 'San ', 'Nuo ', 'Xi ', 'Liang ', 'Jiang ', 
'Kuai ', 'Bo ', 'Huan ', qq{[?] }, 'Zong ', 'Xian ', 'Nuo ',
+'Tuan ', 'Nie ', 'Li ', 'Zuo ', 'Di ', 'Nie ', 'Tiao ', 'Lan ', 'Mi ', 'Jiao 
', 'Jiu ', 'Xi ', 'Gong ', 'Zheng ', 'Jiu ', 'You ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7d.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7d.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7d.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7d.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x7d] = [
+'Ji ', 'Cha ', 'Zhou ', 'Xun ', 'Yue ', 'Hong ', 'Yu ', 'He ', 'Wan ', 'Ren ', 
'Wen ', 'Wen ', 'Qiu ', 'Na ', 'Zi ', 'Tou ',
+'Niu ', 'Fou ', 'Jie ', 'Shu ', 'Chun ', 'Pi ', 'Yin ', 'Sha ', 'Hong ', 'Zhi 
', 'Ji ', 'Fen ', 'Yun ', 'Ren ', 'Dan ', 'Jin ',
+'Su ', 'Fang ', 'Suo ', 'Cui ', 'Jiu ', 'Zha ', 'Kinu ', 'Jin ', 'Fu ', 'Zhi 
', 'Ci ', 'Zi ', 'Chou ', 'Hong ', 'Zha ', 'Lei ',
+'Xi ', 'Fu ', 'Xie ', 'Shen ', 'Bei ', 'Zhu ', 'Qu ', 'Ling ', 'Zhu ', 'Shao 
', 'Gan ', 'Yang ', 'Fu ', 'Tuo ', 'Zhen ', 'Dai ',
+'Zhuo ', 'Shi ', 'Zhong ', 'Xian ', 'Zu ', 'Jiong ', 'Ban ', 'Ju ', 'Mo ', 
'Shu ', 'Zui ', 'Wata ', 'Jing ', 'Ren ', 'Heng ', 'Xie ',
+'Jie ', 'Zhu ', 'Chou ', 'Gua ', 'Bai ', 'Jue ', 'Kuang ', 'Hu ', 'Ci ', 'Geng 
', 'Geng ', 'Tao ', 'Xie ', 'Ku ', 'Jiao ', 'Quan ',
+'Gai ', 'Luo ', 'Xuan ', 'Bing ', 'Xian ', 'Fu ', 'Gei ', 'Tong ', 'Rong ', 
'Tiao ', 'Yin ', 'Lei ', 'Xie ', 'Quan ', 'Xu ', 'Lun ',
+'Die ', 'Tong ', 'Si ', 'Jiang ', 'Xiang ', 'Hui ', 'Jue ', 'Zhi ', 'Jian ', 
'Juan ', 'Chi ', 'Mian ', 'Zhen ', 'Lu ', 'Cheng ', 'Qiu ',
+'Shu ', 'Bang ', 'Tong ', 'Xiao ', 'Wan ', 'Qin ', 'Geng ', 'Xiu ', 'Ti ', 
'Xiu ', 'Xie ', 'Hong ', 'Xi ', 'Fu ', 'Ting ', 'Sui ',
+'Dui ', 'Kun ', 'Fu ', 'Jing ', 'Hu ', 'Zhi ', 'Yan ', 'Jiong ', 'Feng ', 'Ji 
', 'Sok ', 'Kase ', 'Zong ', 'Lin ', 'Duo ', 'Li ',
+'Lu ', 'Liang ', 'Chou ', 'Quan ', 'Shao ', 'Qi ', 'Qi ', 'Zhun ', 'Qi ', 'Wan 
', 'Qian ', 'Xian ', 'Shou ', 'Wei ', 'Qi ', 'Tao ',
+'Wan ', 'Gang ', 'Wang ', 'Beng ', 'Zhui ', 'Cai ', 'Guo ', 'Cui ', 'Lun ', 
'Liu ', 'Qi ', 'Zhan ', 'Bei ', 'Chuo ', 'Ling ', 'Mian ',
+'Qi ', 'Qie ', 'Tan ', 'Zong ', 'Gun ', 'Zou ', 'Yi ', 'Zi ', 'Xing ', 'Liang 
', 'Jin ', 'Fei ', 'Rui ', 'Min ', 'Yu ', 'Zong ',
+'Fan ', 'Lu ', 'Xu ', 'Yingl ', 'Zhang ', 'Kasuri ', 'Xu ', 'Xiang ', 'Jian ', 
'Ke ', 'Xian ', 'Ruan ', 'Mian ', 'Qi ', 'Duan ', 'Zhong ',
+'Di ', 'Min ', 'Miao ', 'Yuan ', 'Xie ', 'Bao ', 'Si ', 'Qiu ', 'Bian ', 'Huan 
', 'Geng ', 'Cong ', 'Mian ', 'Wei ', 'Fu ', 'Wei ',
+'Yu ', 'Gou ', 'Miao ', 'Xie ', 'Lian ', 'Zong ', 'Bian ', 'Yun ', 'Yin ', 'Ti 
', 'Gua ', 'Zhi ', 'Yun ', 'Cheng ', 'Chan ', 'Dai ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7e.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x7e] = [
+'Xia ', 'Yuan ', 'Zong ', 'Xu ', 'Nawa ', 'Odoshi ', 'Geng ', 'Sen ', 'Ying ', 
'Jin ', 'Yi ', 'Zhui ', 'Ni ', 'Bang ', 'Gu ', 'Pan ',
+'Zhou ', 'Jian ', 'Cuo ', 'Quan ', 'Shuang ', 'Yun ', 'Xia ', 'Shuai ', 'Xi ', 
'Rong ', 'Tao ', 'Fu ', 'Yun ', 'Zhen ', 'Gao ', 'Ru ',
+'Hu ', 'Zai ', 'Teng ', 'Xian ', 'Su ', 'Zhen ', 'Zong ', 'Tao ', 'Horo ', 
'Cai ', 'Bi ', 'Feng ', 'Cu ', 'Li ', 'Suo ', 'Yin ',
+'Xi ', 'Zong ', 'Lei ', 'Zhuan ', 'Qian ', 'Man ', 'Zhi ', 'Lu ', 'Mo ', 'Piao 
', 'Lian ', 'Mi ', 'Xuan ', 'Zong ', 'Ji ', 'Shan ',
+'Sui ', 'Fan ', 'Shuai ', 'Beng ', 'Yi ', 'Sao ', 'Mou ', 'Zhou ', 'Qiang ', 
'Hun ', 'Sem ', 'Xi ', 'Jung ', 'Xiu ', 'Ran ', 'Xuan ',
+'Hui ', 'Qiao ', 'Zeng ', 'Zuo ', 'Zhi ', 'Shan ', 'San ', 'Lin ', 'Yu ', 'Fan 
', 'Liao ', 'Chuo ', 'Zun ', 'Jian ', 'Rao ', 'Chan ',
+'Rui ', 'Xiu ', 'Hui ', 'Hua ', 'Zuan ', 'Xi ', 'Qiang ', 'Un ', 'Da ', 'Sheng 
', 'Hui ', 'Xi ', 'Se ', 'Jian ', 'Jiang ', 'Huan ',
+'Zao ', 'Cong ', 'Jie ', 'Jiao ', 'Bo ', 'Chan ', 'Yi ', 'Nao ', 'Sui ', 'Yi 
', 'Shai ', 'Xu ', 'Ji ', 'Bin ', 'Qian ', 'Lan ',
+'Pu ', 'Xun ', 'Zuan ', 'Qi ', 'Peng ', 'Li ', 'Mo ', 'Lei ', 'Xie ', 'Zuan ', 
'Kuang ', 'You ', 'Xu ', 'Lei ', 'Xian ', 'Chan ',
+'Kou ', 'Lu ', 'Chan ', 'Ying ', 'Cai ', 'Xiang ', 'Xian ', 'Zui ', 'Zuan ', 
'Luo ', 'Xi ', 'Dao ', 'Lan ', 'Lei ', 'Lian ', 'Si ',
+'Jiu ', 'Yu ', 'Hong ', 'Zhou ', 'Xian ', 'He ', 'Yue ', 'Ji ', 'Wan ', 'Kuang 
', 'Ji ', 'Ren ', 'Wei ', 'Yun ', 'Hong ', 'Chun ',
+'Pi ', 'Sha ', 'Gang ', 'Na ', 'Ren ', 'Zong ', 'Lun ', 'Fen ', 'Zhi ', 'Wen 
', 'Fang ', 'Zhu ', 'Yin ', 'Niu ', 'Shu ', 'Xian ',
+'Gan ', 'Xie ', 'Fu ', 'Lian ', 'Zu ', 'Shen ', 'Xi ', 'Zhi ', 'Zhong ', 'Zhou 
', 'Ban ', 'Fu ', 'Zhuo ', 'Shao ', 'Yi ', 'Jing ',
+'Dai ', 'Bang ', 'Rong ', 'Jie ', 'Ku ', 'Rao ', 'Die ', 'Heng ', 'Hui ', 'Gei 
', 'Xuan ', 'Jiang ', 'Luo ', 'Jue ', 'Jiao ', 'Tong ',
+'Geng ', 'Xiao ', 'Juan ', 'Xiu ', 'Xi ', 'Sui ', 'Tao ', 'Ji ', 'Ti ', 'Ji ', 
'Xu ', 'Ling ', qq{[?] }, 'Xu ', 'Qi ', 'Fei ',
+'Chuo ', 'Zhang ', 'Gun ', 'Sheng ', 'Wei ', 'Mian ', 'Shou ', 'Beng ', 'Chou 
', 'Tao ', 'Liu ', 'Quan ', 'Zong ', 'Zhan ', 'Wan ', 'Lu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x7f.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x7f] = [
+'Zhui ', 'Zi ', 'Ke ', 'Xiang ', 'Jian ', 'Mian ', 'Lan ', 'Ti ', 'Miao ', 'Qi 
', 'Yun ', 'Hui ', 'Si ', 'Duo ', 'Duan ', 'Bian ',
+'Xian ', 'Gou ', 'Zhui ', 'Huan ', 'Di ', 'Lu ', 'Bian ', 'Min ', 'Yuan ', 
'Jin ', 'Fu ', 'Ru ', 'Zhen ', 'Feng ', 'Shuai ', 'Gao ',
+'Chan ', 'Li ', 'Yi ', 'Jian ', 'Bin ', 'Piao ', 'Man ', 'Lei ', 'Ying ', 'Suo 
', 'Mou ', 'Sao ', 'Xie ', 'Liao ', 'Shan ', 'Zeng ',
+'Jiang ', 'Qian ', 'Zao ', 'Huan ', 'Jiao ', 'Zuan ', 'Fou ', 'Xie ', 'Gang ', 
'Fou ', 'Que ', 'Fou ', 'Kaakeru ', 'Bo ', 'Ping ', 'Hou ',
+qq{[?] }, 'Gang ', 'Ying ', 'Ying ', 'Qing ', 'Xia ', 'Guan ', 'Zun ', 'Tan ', 
'Chang ', 'Qi ', 'Weng ', 'Ying ', 'Lei ', 'Tan ', 'Lu ',
+'Guan ', 'Wang ', 'Wang ', 'Gang ', 'Wang ', 'Han ', qq{[?] }, 'Luo ', 'Fu ', 
'Mi ', 'Fa ', 'Gu ', 'Zhu ', 'Ju ', 'Mao ', 'Gu ',
+'Min ', 'Gang ', 'Ba ', 'Gua ', 'Ti ', 'Juan ', 'Fu ', 'Lin ', 'Yan ', 'Zhao 
', 'Zui ', 'Gua ', 'Zhuo ', 'Yu ', 'Zhi ', 'An ',
+'Fa ', 'Nan ', 'Shu ', 'Si ', 'Pi ', 'Ma ', 'Liu ', 'Ba ', 'Fa ', 'Li ', 'Chao 
', 'Wei ', 'Bi ', 'Ji ', 'Zeng ', 'Tong ',
+'Liu ', 'Ji ', 'Juan ', 'Mi ', 'Zhao ', 'Luo ', 'Pi ', 'Ji ', 'Ji ', 'Luan ', 
'Yang ', 'Mie ', 'Qiang ', 'Ta ', 'Mei ', 'Yang ',
+'You ', 'You ', 'Fen ', 'Ba ', 'Gao ', 'Yang ', 'Gu ', 'Qiang ', 'Zang ', 'Gao 
', 'Ling ', 'Yi ', 'Zhu ', 'Di ', 'Xiu ', 'Qian ',
+'Yi ', 'Xian ', 'Rong ', 'Qun ', 'Qun ', 'Qian ', 'Huan ', 'Zui ', 'Xian ', 
'Yi ', 'Yashinau ', 'Qiang ', 'Xian ', 'Yu ', 'Geng ', 'Jie ',
+'Tang ', 'Yuan ', 'Xi ', 'Fan ', 'Shan ', 'Fen ', 'Shan ', 'Lian ', 'Lei ', 
'Geng ', 'Nou ', 'Qiang ', 'Chan ', 'Yu ', 'Gong ', 'Yi ',
+'Chong ', 'Weng ', 'Fen ', 'Hong ', 'Chi ', 'Chi ', 'Cui ', 'Fu ', 'Xia ', 
'Pen ', 'Yi ', 'La ', 'Yi ', 'Pi ', 'Ling ', 'Liu ',
+'Zhi ', 'Qu ', 'Xi ', 'Xie ', 'Xiang ', 'Xi ', 'Xi ', 'Qi ', 'Qiao ', 'Hui ', 
'Hui ', 'Xiao ', 'Se ', 'Hong ', 'Jiang ', 'Di ',
+'Cui ', 'Fei ', 'Tao ', 'Sha ', 'Chi ', 'Zhu ', 'Jian ', 'Xuan ', 'Shi ', 
'Pian ', 'Zong ', 'Wan ', 'Hui ', 'Hou ', 'He ', 'He ',
+'Han ', 'Ao ', 'Piao ', 'Yi ', 'Lian ', 'Qu ', qq{[?] }, 'Lin ', 'Pen ', 'Qiao 
', 'Ao ', 'Fan ', 'Yi ', 'Hui ', 'Xuan ', 'Dao ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x80.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x80.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x80.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x80.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x80] = [
+'Yao ', 'Lao ', qq{[?] }, 'Kao ', 'Mao ', 'Zhe ', 'Qi ', 'Gou ', 'Gou ', 'Gou 
', 'Die ', 'Die ', 'Er ', 'Shua ', 'Ruan ', 'Er ',
+'Nai ', 'Zhuan ', 'Lei ', 'Ting ', 'Zi ', 'Geng ', 'Chao ', 'Hao ', 'Yun ', 
'Pa ', 'Pi ', 'Chi ', 'Si ', 'Chu ', 'Jia ', 'Ju ',
+'He ', 'Chu ', 'Lao ', 'Lun ', 'Ji ', 'Tang ', 'Ou ', 'Lou ', 'Nou ', 'Gou ', 
'Pang ', 'Ze ', 'Lou ', 'Ji ', 'Lao ', 'Huo ',
+'You ', 'Mo ', 'Huai ', 'Er ', 'Zhe ', 'Ting ', 'Ye ', 'Da ', 'Song ', 'Qin ', 
'Yun ', 'Chi ', 'Dan ', 'Dan ', 'Hong ', 'Geng ',
+'Zhi ', qq{[?] }, 'Nie ', 'Dan ', 'Zhen ', 'Che ', 'Ling ', 'Zheng ', 'You ', 
'Wa ', 'Liao ', 'Long ', 'Zhi ', 'Ning ', 'Tiao ', 'Er ',
+'Ya ', 'Die ', 'Gua ', qq{[?] }, 'Lian ', 'Hao ', 'Sheng ', 'Lie ', 'Pin ', 
'Jing ', 'Ju ', 'Bi ', 'Di ', 'Guo ', 'Wen ', 'Xu ',
+'Ping ', 'Cong ', 'Shikato ', qq{[?] }, 'Ting ', 'Yu ', 'Cong ', 'Kui ', 
'Tsuraneru ', 'Kui ', 'Cong ', 'Lian ', 'Weng ', 'Kui ', 'Lian ', 'Lian ',
+'Cong ', 'Ao ', 'Sheng ', 'Song ', 'Ting ', 'Kui ', 'Nie ', 'Zhi ', 'Dan ', 
'Ning ', 'Qie ', 'Ji ', 'Ting ', 'Ting ', 'Long ', 'Yu ',
+'Yu ', 'Zhao ', 'Si ', 'Su ', 'Yi ', 'Su ', 'Si ', 'Zhao ', 'Zhao ', 'Rou ', 
'Yi ', 'Le ', 'Ji ', 'Qiu ', 'Ken ', 'Cao ',
+'Ge ', 'Di ', 'Huan ', 'Huang ', 'Yi ', 'Ren ', 'Xiao ', 'Ru ', 'Zhou ', 'Yuan 
', 'Du ', 'Gang ', 'Rong ', 'Gan ', 'Cha ', 'Wo ',
+'Chang ', 'Gu ', 'Zhi ', 'Han ', 'Fu ', 'Fei ', 'Fen ', 'Pei ', 'Pang ', 'Jian 
', 'Fang ', 'Zhun ', 'You ', 'Na ', 'Hang ', 'Ken ',
+'Ran ', 'Gong ', 'Yu ', 'Wen ', 'Yao ', 'Jin ', 'Pi ', 'Qian ', 'Xi ', 'Xi ', 
'Fei ', 'Ken ', 'Jing ', 'Tai ', 'Shen ', 'Zhong ',
+'Zhang ', 'Xie ', 'Shen ', 'Wei ', 'Zhou ', 'Die ', 'Dan ', 'Fei ', 'Ba ', 'Bo 
', 'Qu ', 'Tian ', 'Bei ', 'Gua ', 'Tai ', 'Zi ',
+'Ku ', 'Zhi ', 'Ni ', 'Ping ', 'Zi ', 'Fu ', 'Pang ', 'Zhen ', 'Xian ', 'Zuo 
', 'Pei ', 'Jia ', 'Sheng ', 'Zhi ', 'Bao ', 'Mu ',
+'Qu ', 'Hu ', 'Ke ', 'Yi ', 'Yin ', 'Xu ', 'Yang ', 'Long ', 'Dong ', 'Ka ', 
'Lu ', 'Jing ', 'Nu ', 'Yan ', 'Pang ', 'Kua ',
+'Yi ', 'Guang ', 'Gai ', 'Ge ', 'Dong ', 'Zhi ', 'Xiao ', 'Xiong ', 'Xiong ', 
'Er ', 'E ', 'Xing ', 'Pian ', 'Neng ', 'Zi ', 'Gui ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x81.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x81.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x81.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x81.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x81] = [
+'Cheng ', 'Tiao ', 'Zhi ', 'Cui ', 'Mei ', 'Xie ', 'Cui ', 'Xie ', 'Mo ', 'Mai 
', 'Ji ', 'Obiyaakasu ', qq{[?] }, 'Kuai ', 'Sa ', 'Zang ',
+'Qi ', 'Nao ', 'Mi ', 'Nong ', 'Luan ', 'Wan ', 'Bo ', 'Wen ', 'Guan ', 'Qiu 
', 'Jiao ', 'Jing ', 'Rou ', 'Heng ', 'Cuo ', 'Lie ',
+'Shan ', 'Ting ', 'Mei ', 'Chun ', 'Shen ', 'Xie ', 'De ', 'Zui ', 'Cu ', 'Xiu 
', 'Xin ', 'Tuo ', 'Pao ', 'Cheng ', 'Nei ', 'Fu ',
+'Dou ', 'Tuo ', 'Niao ', 'Noy ', 'Pi ', 'Gu ', 'Gua ', 'Li ', 'Lian ', 'Zhang 
', 'Cui ', 'Jie ', 'Liang ', 'Zhou ', 'Pi ', 'Biao ',
+'Lun ', 'Pian ', 'Guo ', 'Kui ', 'Chui ', 'Dan ', 'Tian ', 'Nei ', 'Jing ', 
'Jie ', 'La ', 'Yi ', 'An ', 'Ren ', 'Shen ', 'Chuo ',
+'Fu ', 'Fu ', 'Ju ', 'Fei ', 'Qiang ', 'Wan ', 'Dong ', 'Pi ', 'Guo ', 'Zong 
', 'Ding ', 'Wu ', 'Mei ', 'Ruan ', 'Zhuan ', 'Zhi ',
+'Cou ', 'Gua ', 'Ou ', 'Di ', 'An ', 'Xing ', 'Nao ', 'Yu ', 'Chuan ', 'Nan ', 
'Yun ', 'Zhong ', 'Rou ', 'E ', 'Sai ', 'Tu ',
+'Yao ', 'Jian ', 'Wei ', 'Jiao ', 'Yu ', 'Jia ', 'Duan ', 'Bi ', 'Chang ', 'Fu 
', 'Xian ', 'Ni ', 'Mian ', 'Wa ', 'Teng ', 'Tui ',
+'Bang ', 'Qian ', 'Lu ', 'Wa ', 'Sou ', 'Tang ', 'Su ', 'Zhui ', 'Ge ', 'Yi ', 
'Bo ', 'Liao ', 'Ji ', 'Pi ', 'Xie ', 'Gao ',
+'Lu ', 'Bin ', 'Ou ', 'Chang ', 'Lu ', 'Guo ', 'Pang ', 'Chuai ', 'Piao ', 
'Jiang ', 'Fu ', 'Tang ', 'Mo ', 'Xi ', 'Zhuan ', 'Lu ',
+'Jiao ', 'Ying ', 'Lu ', 'Zhi ', 'Tara ', 'Chun ', 'Lian ', 'Tong ', 'Peng ', 
'Ni ', 'Zha ', 'Liao ', 'Cui ', 'Gui ', 'Xiao ', 'Teng ',
+'Fan ', 'Zhi ', 'Jiao ', 'Shan ', 'Wu ', 'Cui ', 'Run ', 'Xiang ', 'Sui ', 
'Fen ', 'Ying ', 'Tan ', 'Zhua ', 'Dan ', 'Kuai ', 'Nong ',
+'Tun ', 'Lian ', 'Bi ', 'Yong ', 'Jue ', 'Chu ', 'Yi ', 'Juan ', 'La ', 'Lian 
', 'Sao ', 'Tun ', 'Gu ', 'Qi ', 'Cui ', 'Bin ',
+'Xun ', 'Ru ', 'Huo ', 'Zang ', 'Xian ', 'Biao ', 'Xing ', 'Kuan ', 'La ', 
'Yan ', 'Lu ', 'Huo ', 'Zang ', 'Luo ', 'Qu ', 'Zang ',
+'Luan ', 'Ni ', 'Zang ', 'Chen ', 'Qian ', 'Wo ', 'Guang ', 'Zang ', 'Lin ', 
'Guang ', 'Zi ', 'Jiao ', 'Nie ', 'Chou ', 'Ji ', 'Gao ',
+'Chou ', 'Mian ', 'Nie ', 'Zhi ', 'Zhi ', 'Ge ', 'Jian ', 'Die ', 'Zhi ', 'Xiu 
', 'Tai ', 'Zhen ', 'Jiu ', 'Xian ', 'Yu ', 'Cha ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x82.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x82.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x82.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x82.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x82] = [
+'Yao ', 'Yu ', 'Chong ', 'Xi ', 'Xi ', 'Jiu ', 'Yu ', 'Yu ', 'Xing ', 'Ju ', 
'Jiu ', 'Xin ', 'She ', 'She ', 'Yadoru ', 'Jiu ',
+'Shi ', 'Tan ', 'Shu ', 'Shi ', 'Tian ', 'Dan ', 'Pu ', 'Pu ', 'Guan ', 'Hua 
', 'Tan ', 'Chuan ', 'Shun ', 'Xia ', 'Wu ', 'Zhou ',
+'Dao ', 'Gang ', 'Shan ', 'Yi ', qq{[?] }, 'Pa ', 'Tai ', 'Fan ', 'Ban ', 
'Chuan ', 'Hang ', 'Fang ', 'Ban ', 'Que ', 'Hesaki ', 'Zhong ',
+'Jian ', 'Cang ', 'Ling ', 'Zhu ', 'Ze ', 'Duo ', 'Bo ', 'Xian ', 'Ge ', 
'Chuan ', 'Jia ', 'Lu ', 'Hong ', 'Pang ', 'Xi ', qq{[?] },
+'Fu ', 'Zao ', 'Feng ', 'Li ', 'Shao ', 'Yu ', 'Lang ', 'Ting ', qq{[?] }, 
'Wei ', 'Bo ', 'Meng ', 'Nian ', 'Ju ', 'Huang ', 'Shou ',
+'Zong ', 'Bian ', 'Mao ', 'Die ', qq{[?] }, 'Bang ', 'Cha ', 'Yi ', 'Sao ', 
'Cang ', 'Cao ', 'Lou ', 'Dai ', 'Sori ', 'Yao ', 'Tong ',
+'Yofune ', 'Dang ', 'Tan ', 'Lu ', 'Yi ', 'Jie ', 'Jian ', 'Huo ', 'Meng ', 
'Qi ', 'Lu ', 'Lu ', 'Chan ', 'Shuang ', 'Gen ', 'Liang ',
+'Jian ', 'Jian ', 'Se ', 'Yan ', 'Fu ', 'Ping ', 'Yan ', 'Yan ', 'Cao ', 'Cao 
', 'Yi ', 'Le ', 'Ting ', 'Qiu ', 'Ai ', 'Nai ',
+'Tiao ', 'Jiao ', 'Jie ', 'Peng ', 'Wan ', 'Yi ', 'Chai ', 'Mian ', 'Mie ', 
'Gan ', 'Qian ', 'Yu ', 'Yu ', 'Shuo ', 'Qiong ', 'Tu ',
+'Xia ', 'Qi ', 'Mang ', 'Zi ', 'Hui ', 'Sui ', 'Zhi ', 'Xiang ', 'Bi ', 'Fu ', 
'Tun ', 'Wei ', 'Wu ', 'Zhi ', 'Qi ', 'Shan ',
+'Wen ', 'Qian ', 'Ren ', 'Fou ', 'Kou ', 'Jie ', 'Lu ', 'Xu ', 'Ji ', 'Qin ', 
'Qi ', 'Yuan ', 'Fen ', 'Ba ', 'Rui ', 'Xin ',
+'Ji ', 'Hua ', 'Hua ', 'Fang ', 'Wu ', 'Jue ', 'Gou ', 'Zhi ', 'Yun ', 'Qin ', 
'Ao ', 'Chu ', 'Mao ', 'Ya ', 'Fei ', 'Reng ',
+'Hang ', 'Cong ', 'Yin ', 'You ', 'Bian ', 'Yi ', 'Susa ', 'Wei ', 'Li ', 'Pi 
', 'E ', 'Xian ', 'Chang ', 'Cang ', 'Meng ', 'Su ',
+'Yi ', 'Yuan ', 'Ran ', 'Ling ', 'Tai ', 'Tiao ', 'Di ', 'Miao ', 'Qiong ', 
'Li ', 'Yong ', 'Ke ', 'Mu ', 'Pei ', 'Bao ', 'Gou ',
+'Min ', 'Yi ', 'Yi ', 'Ju ', 'Pi ', 'Ruo ', 'Ku ', 'Zhu ', 'Ni ', 'Bo ', 'Bing 
', 'Shan ', 'Qiu ', 'Yao ', 'Xian ', 'Ben ',
+'Hong ', 'Ying ', 'Zha ', 'Dong ', 'Ju ', 'Die ', 'Nie ', 'Gan ', 'Hu ', 'Ping 
', 'Mei ', 'Fu ', 'Sheng ', 'Gu ', 'Bi ', 'Wei ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x83.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x83.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x83.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x83.pm       12 Oct 2011 
23:51:05 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x83] = [
+'Fu ', 'Zhuo ', 'Mao ', 'Fan ', 'Qie ', 'Mao ', 'Mao ', 'Ba ', 'Zi ', 'Mo ', 
'Zi ', 'Di ', 'Chi ', 'Ji ', 'Jing ', 'Long ',
+qq{[?] }, 'Niao ', qq{[?] }, 'Xue ', 'Ying ', 'Qiong ', 'Ge ', 'Ming ', 'Li ', 
'Rong ', 'Yin ', 'Gen ', 'Qian ', 'Chai ', 'Chen ', 'Yu ',
+'Xiu ', 'Zi ', 'Lie ', 'Wu ', 'Ji ', 'Kui ', 'Ce ', 'Chong ', 'Ci ', 'Gou ', 
'Guang ', 'Mang ', 'Chi ', 'Jiao ', 'Jiao ', 'Fu ',
+'Yu ', 'Zhu ', 'Zi ', 'Jiang ', 'Hui ', 'Yin ', 'Cha ', 'Fa ', 'Rong ', 'Ru ', 
'Chong ', 'Mang ', 'Tong ', 'Zhong ', qq{[?] }, 'Zhu ',
+'Xun ', 'Huan ', 'Kua ', 'Quan ', 'Gai ', 'Da ', 'Jing ', 'Xing ', 'Quan ', 
'Cao ', 'Jing ', 'Er ', 'An ', 'Shou ', 'Chi ', 'Ren ',
+'Jian ', 'Ti ', 'Huang ', 'Ping ', 'Li ', 'Jin ', 'Lao ', 'Shu ', 'Zhuang ', 
'Da ', 'Jia ', 'Rao ', 'Bi ', 'Ze ', 'Qiao ', 'Hui ',
+'Qi ', 'Dang ', qq{[?] }, 'Rong ', 'Hun ', 'Ying ', 'Luo ', 'Ying ', 'Xun ', 
'Jin ', 'Sun ', 'Yin ', 'Mai ', 'Hong ', 'Zhou ', 'Yao ',
+'Du ', 'Wei ', 'Chu ', 'Dou ', 'Fu ', 'Ren ', 'Yin ', 'He ', 'Bi ', 'Bu ', 
'Yun ', 'Di ', 'Tu ', 'Sui ', 'Sui ', 'Cheng ',
+'Chen ', 'Wu ', 'Bie ', 'Xi ', 'Geng ', 'Li ', 'Fu ', 'Zhu ', 'Mo ', 'Li ', 
'Zhuang ', 'Ji ', 'Duo ', 'Qiu ', 'Sha ', 'Suo ',
+'Chen ', 'Feng ', 'Ju ', 'Mei ', 'Meng ', 'Xing ', 'Jing ', 'Che ', 'Xin ', 
'Jun ', 'Yan ', 'Ting ', 'Diao ', 'Cuo ', 'Wan ', 'Han ',
+'You ', 'Cuo ', 'Jia ', 'Wang ', 'You ', 'Niu ', 'Shao ', 'Xian ', 'Lang ', 
'Fu ', 'E ', 'Mo ', 'Wen ', 'Jie ', 'Nan ', 'Mu ',
+'Kan ', 'Lai ', 'Lian ', 'Shi ', 'Wo ', 'Usagi ', 'Lian ', 'Huo ', 'You ', 
'Ying ', 'Ying ', 'Nuc ', 'Chun ', 'Mang ', 'Mang ', 'Ci ',
+'Wan ', 'Jing ', 'Di ', 'Qu ', 'Dong ', 'Jian ', 'Zou ', 'Gu ', 'La ', 'Lu ', 
'Ju ', 'Wei ', 'Jun ', 'Nie ', 'Kun ', 'He ',
+'Pu ', 'Zi ', 'Gao ', 'Guo ', 'Fu ', 'Lun ', 'Chang ', 'Chou ', 'Song ', 'Chui 
', 'Zhan ', 'Men ', 'Cai ', 'Ba ', 'Li ', 'Tu ',
+'Bo ', 'Han ', 'Bao ', 'Qin ', 'Juan ', 'Xi ', 'Qin ', 'Di ', 'Jie ', 'Pu ', 
'Dang ', 'Jin ', 'Zhao ', 'Tai ', 'Geng ', 'Hua ',
+'Gu ', 'Ling ', 'Fei ', 'Jin ', 'An ', 'Wang ', 'Beng ', 'Zhou ', 'Yan ', 'Ju 
', 'Jian ', 'Lin ', 'Tan ', 'Shu ', 'Tian ', 'Dao ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x84.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x84.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x84.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x84.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x84] = [
+'Hu ', 'Qi ', 'He ', 'Cui ', 'Tao ', 'Chun ', 'Bei ', 'Chang ', 'Huan ', 'Fei 
', 'Lai ', 'Qi ', 'Meng ', 'Ping ', 'Wei ', 'Dan ',
+'Sha ', 'Huan ', 'Yan ', 'Yi ', 'Tiao ', 'Qi ', 'Wan ', 'Ce ', 'Nai ', 
'Kutabireru ', 'Tuo ', 'Jiu ', 'Tie ', 'Luo ', qq{[?] }, qq{[?] },
+'Meng ', qq{[?] }, 'Yaji ', qq{[?] }, 'Ying ', 'Ying ', 'Ying ', 'Xiao ', 'Sa 
', 'Qiu ', 'Ke ', 'Xiang ', 'Wan ', 'Yu ', 'Yu ', 'Fu ',
+'Lian ', 'Xuan ', 'Yuan ', 'Nan ', 'Ze ', 'Wo ', 'Chun ', 'Xiao ', 'Yu ', 
'Pian ', 'Mao ', 'An ', 'E ', 'Luo ', 'Ying ', 'Huo ',
+'Gua ', 'Jiang ', 'Mian ', 'Zuo ', 'Zuo ', 'Ju ', 'Bao ', 'Rou ', 'Xi ', 'Xie 
', 'An ', 'Qu ', 'Jian ', 'Fu ', 'Lu ', 'Jing ',
+'Pen ', 'Feng ', 'Hong ', 'Hong ', 'Hou ', 'Yan ', 'Tu ', 'Zhu ', 'Zi ', 
'Xiang ', 'Shen ', 'Ge ', 'Jie ', 'Jing ', 'Mi ', 'Huang ',
+'Shen ', 'Pu ', 'Gai ', 'Dong ', 'Zhou ', 'Qian ', 'Wei ', 'Bo ', 'Wei ', 'Pa 
', 'Ji ', 'Hu ', 'Zang ', 'Jia ', 'Duan ', 'Yao ',
+'Jun ', 'Cong ', 'Quan ', 'Wei ', 'Xian ', 'Kui ', 'Ting ', 'Hun ', 'Xi ', 
'Shi ', 'Qi ', 'Lan ', 'Zong ', 'Yao ', 'Yuan ', 'Mei ',
+'Yun ', 'Shu ', 'Di ', 'Zhuan ', 'Guan ', 'Sukumo ', 'Xue ', 'Chan ', 'Kai ', 
'Kui ', qq{[?] }, 'Jiang ', 'Lou ', 'Wei ', 'Pai ', qq{[?] },
+'Sou ', 'Yin ', 'Shi ', 'Chun ', 'Shi ', 'Yun ', 'Zhen ', 'Lang ', 'Nu ', 
'Meng ', 'He ', 'Que ', 'Suan ', 'Yuan ', 'Li ', 'Ju ',
+'Xi ', 'Pang ', 'Chu ', 'Xu ', 'Tu ', 'Liu ', 'Wo ', 'Zhen ', 'Qian ', 'Zu ', 
'Po ', 'Cuo ', 'Yuan ', 'Chu ', 'Yu ', 'Kuai ',
+'Pan ', 'Pu ', 'Pu ', 'Na ', 'Shuo ', 'Xi ', 'Fen ', 'Yun ', 'Zheng ', 'Jian 
', 'Ji ', 'Ruo ', 'Cang ', 'En ', 'Mi ', 'Hao ',
+'Sun ', 'Zhen ', 'Ming ', 'Sou ', 'Xu ', 'Liu ', 'Xi ', 'Gu ', 'Lang ', 'Rong 
', 'Weng ', 'Gai ', 'Cuo ', 'Shi ', 'Tang ', 'Luo ',
+'Ru ', 'Suo ', 'Xian ', 'Bei ', 'Yao ', 'Gui ', 'Bi ', 'Zong ', 'Gun ', 'Za ', 
'Xiu ', 'Ce ', 'Hai ', 'Lan ', qq{[?] }, 'Ji ',
+'Li ', 'Can ', 'Lang ', 'Yu ', qq{[?] }, 'Ying ', 'Mo ', 'Diao ', 'Tiao ', 
'Mao ', 'Tong ', 'Zhu ', 'Peng ', 'An ', 'Lian ', 'Cong ',
+'Xi ', 'Ping ', 'Qiu ', 'Jin ', 'Chun ', 'Jie ', 'Wei ', 'Tui ', 'Cao ', 'Yu 
', 'Yi ', 'Ji ', 'Liao ', 'Bi ', 'Lu ', 'Su ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x85.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x85.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x85.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x85.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x85] = [
+'Bu ', 'Zhang ', 'Luo ', 'Jiang ', 'Man ', 'Yan ', 'Ling ', 'Ji ', 'Piao ', 
'Gun ', 'Han ', 'Di ', 'Su ', 'Lu ', 'She ', 'Shang ',
+'Di ', 'Mie ', 'Xun ', 'Man ', 'Bo ', 'Di ', 'Cuo ', 'Zhe ', 'Sen ', 'Xuan ', 
'Wei ', 'Hu ', 'Ao ', 'Mi ', 'Lou ', 'Cu ',
+'Zhong ', 'Cai ', 'Po ', 'Jiang ', 'Mi ', 'Cong ', 'Niao ', 'Hui ', 'Jun ', 
'Yin ', 'Jian ', 'Yan ', 'Shu ', 'Yin ', 'Kui ', 'Chen ',
+'Hu ', 'Sha ', 'Kou ', 'Qian ', 'Ma ', 'Zang ', 'Sonoko ', 'Qiang ', 'Dou ', 
'Lian ', 'Lin ', 'Kou ', 'Ai ', 'Bi ', 'Li ', 'Wei ',
+'Ji ', 'Xun ', 'Sheng ', 'Fan ', 'Meng ', 'Ou ', 'Chan ', 'Dian ', 'Xun ', 
'Jiao ', 'Rui ', 'Rui ', 'Lei ', 'Yu ', 'Qiao ', 'Chu ',
+'Hua ', 'Jian ', 'Mai ', 'Yun ', 'Bao ', 'You ', 'Qu ', 'Lu ', 'Rao ', 'Hui ', 
'E ', 'Teng ', 'Fei ', 'Jue ', 'Zui ', 'Fa ',
+'Ru ', 'Fen ', 'Kui ', 'Shun ', 'Rui ', 'Ya ', 'Xu ', 'Fu ', 'Jue ', 'Dang ', 
'Wu ', 'Tong ', 'Si ', 'Xiao ', 'Xi ', 'Long ',
+'Yun ', qq{[?] }, 'Qi ', 'Jian ', 'Yun ', 'Sun ', 'Ling ', 'Yu ', 'Xia ', 
'Yong ', 'Ji ', 'Hong ', 'Si ', 'Nong ', 'Lei ', 'Xuan ',
+'Yun ', 'Yu ', 'Xi ', 'Hao ', 'Bo ', 'Hao ', 'Ai ', 'Wei ', 'Hui ', 'Wei ', 
'Ji ', 'Ci ', 'Xiang ', 'Luan ', 'Mie ', 'Yi ',
+'Leng ', 'Jiang ', 'Can ', 'Shen ', 'Qiang ', 'Lian ', 'Ke ', 'Yuan ', 'Da ', 
'Ti ', 'Tang ', 'Xie ', 'Bi ', 'Zhan ', 'Sun ', 'Lian ',
+'Fan ', 'Ding ', 'Jie ', 'Gu ', 'Xie ', 'Shu ', 'Jian ', 'Kao ', 'Hong ', 'Sa 
', 'Xin ', 'Xun ', 'Yao ', 'Hie ', 'Sou ', 'Shu ',
+'Xun ', 'Dui ', 'Pin ', 'Wei ', 'Neng ', 'Chou ', 'Mai ', 'Ru ', 'Piao ', 'Tai 
', 'Qi ', 'Zao ', 'Chen ', 'Zhen ', 'Er ', 'Ni ',
+'Ying ', 'Gao ', 'Cong ', 'Xiao ', 'Qi ', 'Fa ', 'Jian ', 'Xu ', 'Kui ', 'Jie 
', 'Bian ', 'Diao ', 'Mi ', 'Lan ', 'Jin ', 'Cang ',
+'Miao ', 'Qiong ', 'Qie ', 'Xian ', qq{[?] }, 'Ou ', 'Xian ', 'Su ', 'Lu ', 
'Yi ', 'Xu ', 'Xie ', 'Li ', 'Yi ', 'La ', 'Lei ',
+'Xiao ', 'Di ', 'Zhi ', 'Bei ', 'Teng ', 'Yao ', 'Mo ', 'Huan ', 'Piao ', 'Fan 
', 'Sou ', 'Tan ', 'Tui ', 'Qiong ', 'Qiao ', 'Wei ',
+'Liu ', 'Hui ', qq{[?] }, 'Gao ', 'Yun ', qq{[?] }, 'Li ', 'Shu ', 'Chu ', 'Ai 
', 'Lin ', 'Zao ', 'Xuan ', 'Chen ', 'Lai ', 'Huo ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x86.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x86.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x86.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x86.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x86] = [
+'Tuo ', 'Wu ', 'Rui ', 'Rui ', 'Qi ', 'Heng ', 'Lu ', 'Su ', 'Tui ', 'Mang ', 
'Yun ', 'Pin ', 'Yu ', 'Xun ', 'Ji ', 'Jiong ',
+'Xian ', 'Mo ', 'Hagi ', 'Su ', 'Jiong ', qq{[?] }, 'Nie ', 'Bo ', 'Rang ', 
'Yi ', 'Xian ', 'Yu ', 'Ju ', 'Lian ', 'Lian ', 'Yin ',
+'Qiang ', 'Ying ', 'Long ', 'Tong ', 'Wei ', 'Yue ', 'Ling ', 'Qu ', 'Yao ', 
'Fan ', 'Mi ', 'Lan ', 'Kui ', 'Lan ', 'Ji ', 'Dang ',
+'Katsura ', 'Lei ', 'Lei ', 'Hua ', 'Feng ', 'Zhi ', 'Wei ', 'Kui ', 'Zhan ', 
'Huai ', 'Li ', 'Ji ', 'Mi ', 'Lei ', 'Huai ', 'Luo ',
+'Ji ', 'Kui ', 'Lu ', 'Jian ', 'San ', qq{[?] }, 'Lei ', 'Quan ', 'Xiao ', 'Yi 
', 'Luan ', 'Men ', 'Bie ', 'Hu ', 'Hu ', 'Lu ',
+'Nue ', 'Lu ', 'Si ', 'Xiao ', 'Qian ', 'Chu ', 'Hu ', 'Xu ', 'Cuo ', 'Fu ', 
'Xu ', 'Xu ', 'Lu ', 'Hu ', 'Yu ', 'Hao ',
+'Jiao ', 'Ju ', 'Guo ', 'Bao ', 'Yan ', 'Zhan ', 'Zhan ', 'Kui ', 'Ban ', 'Xi 
', 'Shu ', 'Chong ', 'Qiu ', 'Diao ', 'Ji ', 'Qiu ',
+'Cheng ', 'Shi ', qq{[?] }, 'Di ', 'Zhe ', 'She ', 'Yu ', 'Gan ', 'Zi ', 'Hong 
', 'Hui ', 'Meng ', 'Ge ', 'Sui ', 'Xia ', 'Chai ',
+'Shi ', 'Yi ', 'Ma ', 'Xiang ', 'Fang ', 'E ', 'Pa ', 'Chi ', 'Qian ', 'Wen ', 
'Wen ', 'Rui ', 'Bang ', 'Bi ', 'Yue ', 'Yue ',
+'Jun ', 'Qi ', 'Ran ', 'Yin ', 'Qi ', 'Tian ', 'Yuan ', 'Jue ', 'Hui ', 'Qin 
', 'Qi ', 'Zhong ', 'Ya ', 'Ci ', 'Mu ', 'Wang ',
+'Fen ', 'Fen ', 'Hang ', 'Gong ', 'Zao ', 'Fu ', 'Ran ', 'Jie ', 'Fu ', 'Chi 
', 'Dou ', 'Piao ', 'Xian ', 'Ni ', 'Te ', 'Qiu ',
+'You ', 'Zha ', 'Ping ', 'Chi ', 'You ', 'He ', 'Han ', 'Ju ', 'Li ', 'Fu ', 
'Ran ', 'Zha ', 'Gou ', 'Pi ', 'Bo ', 'Xian ',
+'Zhu ', 'Diao ', 'Bie ', 'Bing ', 'Gu ', 'Ran ', 'Qu ', 'She ', 'Tie ', 'Ling 
', 'Gu ', 'Dan ', 'Gu ', 'Ying ', 'Li ', 'Cheng ',
+'Qu ', 'Mou ', 'Ge ', 'Ci ', 'Hui ', 'Hui ', 'Mang ', 'Fu ', 'Yang ', 'Wa ', 
'Lie ', 'Zhu ', 'Yi ', 'Xian ', 'Kuo ', 'Jiao ',
+'Li ', 'Yi ', 'Ping ', 'Ji ', 'Ha ', 'She ', 'Yi ', 'Wang ', 'Mo ', 'Qiong ', 
'Qie ', 'Gui ', 'Gong ', 'Zhi ', 'Man ', 'Ebi ',
+'Zhi ', 'Jia ', 'Rao ', 'Si ', 'Qi ', 'Xing ', 'Lie ', 'Qiu ', 'Shao ', 'Yong 
', 'Jia ', 'Shui ', 'Che ', 'Bai ', 'E ', 'Han ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x87.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x87.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x87.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x87.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:33 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x87] = [
+'Shu ', 'Xuan ', 'Feng ', 'Shen ', 'Zhen ', 'Fu ', 'Xian ', 'Zhe ', 'Wu ', 'Fu 
', 'Li ', 'Lang ', 'Bi ', 'Chu ', 'Yuan ', 'You ',
+'Jie ', 'Dan ', 'Yan ', 'Ting ', 'Dian ', 'Shui ', 'Hui ', 'Gua ', 'Zhi ', 
'Song ', 'Fei ', 'Ju ', 'Mi ', 'Qi ', 'Qi ', 'Yu ',
+'Jun ', 'Zha ', 'Meng ', 'Qiang ', 'Si ', 'Xi ', 'Lun ', 'Li ', 'Die ', 'Tiao 
', 'Tao ', 'Kun ', 'Gan ', 'Han ', 'Yu ', 'Bang ',
+'Fei ', 'Pi ', 'Wei ', 'Dun ', 'Yi ', 'Yuan ', 'Su ', 'Quan ', 'Qian ', 'Rui 
', 'Ni ', 'Qing ', 'Wei ', 'Liang ', 'Guo ', 'Wan ',
+'Dong ', 'E ', 'Ban ', 'Di ', 'Wang ', 'Can ', 'Yang ', 'Ying ', 'Guo ', 'Chan 
', qq{[?] }, 'La ', 'Ke ', 'Ji ', 'He ', 'Ting ',
+'Mai ', 'Xu ', 'Mian ', 'Yu ', 'Jie ', 'Shi ', 'Xuan ', 'Huang ', 'Yan ', 
'Bian ', 'Rou ', 'Wei ', 'Fu ', 'Yuan ', 'Mei ', 'Wei ',
+'Fu ', 'Ruan ', 'Xie ', 'You ', 'Qiu ', 'Mao ', 'Xia ', 'Ying ', 'Shi ', 
'Chong ', 'Tang ', 'Zhu ', 'Zong ', 'Ti ', 'Fu ', 'Yuan ',
+'Hui ', 'Meng ', 'La ', 'Du ', 'Hu ', 'Qiu ', 'Die ', 'Li ', 'Gua ', 'Yun ', 
'Ju ', 'Nan ', 'Lou ', 'Qun ', 'Rong ', 'Ying ',
+'Jiang ', qq{[?] }, 'Lang ', 'Pang ', 'Si ', 'Xi ', 'Ci ', 'Xi ', 'Yuan ', 
'Weng ', 'Lian ', 'Sou ', 'Ban ', 'Rong ', 'Rong ', 'Ji ',
+'Wu ', 'Qiu ', 'Han ', 'Qin ', 'Yi ', 'Bi ', 'Hua ', 'Tang ', 'Yi ', 'Du ', 
'Nai ', 'He ', 'Hu ', 'Hui ', 'Ma ', 'Ming ',
+'Yi ', 'Wen ', 'Ying ', 'Teng ', 'Yu ', 'Cang ', 'So ', 'Ebi ', 'Man ', qq{[?] 
}, 'Shang ', 'Zhe ', 'Cao ', 'Chi ', 'Di ', 'Ao ',
+'Lu ', 'Wei ', 'Zhi ', 'Tang ', 'Chen ', 'Piao ', 'Qu ', 'Pi ', 'Yu ', 'Jian 
', 'Luo ', 'Lou ', 'Qin ', 'Zhong ', 'Yin ', 'Jiang ',
+'Shuai ', 'Wen ', 'Jiao ', 'Wan ', 'Zhi ', 'Zhe ', 'Ma ', 'Ma ', 'Guo ', 'Liu 
', 'Mao ', 'Xi ', 'Cong ', 'Li ', 'Man ', 'Xiao ',
+'Kamakiri ', 'Zhang ', 'Mang ', 'Xiang ', 'Mo ', 'Zui ', 'Si ', 'Qiu ', 'Te ', 
'Zhi ', 'Peng ', 'Peng ', 'Jiao ', 'Qu ', 'Bie ', 'Liao ',
+'Pan ', 'Gui ', 'Xi ', 'Ji ', 'Zhuan ', 'Huang ', 'Fei ', 'Lao ', 'Jue ', 'Jue 
', 'Hui ', 'Yin ', 'Chan ', 'Jiao ', 'Shan ', 'Rao ',
+'Xiao ', 'Mou ', 'Chong ', 'Xun ', 'Si ', qq{[?] }, 'Cheng ', 'Dang ', 'Li ', 
'Xie ', 'Shan ', 'Yi ', 'Jing ', 'Da ', 'Chan ', 'Qi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x88.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x88.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x88.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x88.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x88] = [
+'Ci ', 'Xiang ', 'She ', 'Luo ', 'Qin ', 'Ying ', 'Chai ', 'Li ', 'Ze ', 'Xuan 
', 'Lian ', 'Zhu ', 'Ze ', 'Xie ', 'Mang ', 'Xie ',
+'Qi ', 'Rong ', 'Jian ', 'Meng ', 'Hao ', 'Ruan ', 'Huo ', 'Zhuo ', 'Jie ', 
'Bin ', 'He ', 'Mie ', 'Fan ', 'Lei ', 'Jie ', 'La ',
+'Mi ', 'Li ', 'Chun ', 'Li ', 'Qiu ', 'Nie ', 'Lu ', 'Du ', 'Xiao ', 'Zhu ', 
'Long ', 'Li ', 'Long ', 'Feng ', 'Ye ', 'Beng ',
+'Shang ', 'Gu ', 'Juan ', 'Ying ', qq{[?] }, 'Xi ', 'Can ', 'Qu ', 'Quan ', 
'Du ', 'Can ', 'Man ', 'Jue ', 'Jie ', 'Zhu ', 'Zha ',
+'Xie ', 'Huang ', 'Niu ', 'Pei ', 'Nu ', 'Xin ', 'Zhong ', 'Mo ', 'Er ', 'Ke 
', 'Mie ', 'Xi ', 'Xing ', 'Yan ', 'Kan ', 'Yuan ',
+qq{[?] }, 'Ling ', 'Xuan ', 'Shu ', 'Xian ', 'Tong ', 'Long ', 'Jie ', 'Xian 
', 'Ya ', 'Hu ', 'Wei ', 'Dao ', 'Chong ', 'Wei ', 'Dao ',
+'Zhun ', 'Heng ', 'Qu ', 'Yi ', 'Yi ', 'Bu ', 'Gan ', 'Yu ', 'Biao ', 'Cha ', 
'Yi ', 'Shan ', 'Chen ', 'Fu ', 'Gun ', 'Fen ',
+'Shuai ', 'Jie ', 'Na ', 'Zhong ', 'Dan ', 'Ri ', 'Zhong ', 'Zhong ', 'Xie ', 
'Qi ', 'Xie ', 'Ran ', 'Zhi ', 'Ren ', 'Qin ', 'Jin ',
+'Jun ', 'Yuan ', 'Mei ', 'Chai ', 'Ao ', 'Niao ', 'Hui ', 'Ran ', 'Jia ', 'Tuo 
', 'Ling ', 'Dai ', 'Bao ', 'Pao ', 'Yao ', 'Zuo ',
+'Bi ', 'Shao ', 'Tan ', 'Ju ', 'He ', 'Shu ', 'Xiu ', 'Zhen ', 'Yi ', 'Pa ', 
'Bo ', 'Di ', 'Wa ', 'Fu ', 'Gun ', 'Zhi ',
+'Zhi ', 'Ran ', 'Pan ', 'Yi ', 'Mao ', 'Tuo ', 'Na ', 'Kou ', 'Xian ', 'Chan 
', 'Qu ', 'Bei ', 'Gun ', 'Xi ', 'Ne ', 'Bo ',
+'Horo ', 'Fu ', 'Yi ', 'Chi ', 'Ku ', 'Ren ', 'Jiang ', 'Jia ', 'Cun ', 'Mo ', 
'Jie ', 'Er ', 'Luo ', 'Ru ', 'Zhu ', 'Gui ',
+'Yin ', 'Cai ', 'Lie ', 'Kamishimo ', 'Yuki ', 'Zhuang ', 'Dang ', qq{[?] }, 
'Kun ', 'Ken ', 'Niao ', 'Shu ', 'Jia ', 'Kun ', 'Cheng ', 'Li ',
+'Juan ', 'Shen ', 'Pou ', 'Ge ', 'Yi ', 'Yu ', 'Zhen ', 'Liu ', 'Qiu ', 'Qun 
', 'Ji ', 'Yi ', 'Bu ', 'Zhuang ', 'Shui ', 'Sha ',
+'Qun ', 'Li ', 'Lian ', 'Lian ', 'Ku ', 'Jian ', 'Fou ', 'Chan ', 'Bi ', 'Gun 
', 'Tao ', 'Yuan ', 'Ling ', 'Chi ', 'Chang ', 'Chou ',
+'Duo ', 'Biao ', 'Liang ', 'Chang ', 'Pei ', 'Pei ', 'Fei ', 'Yuan ', 'Luo ', 
'Guo ', 'Yan ', 'Du ', 'Xi ', 'Zhi ', 'Ju ', 'Qi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x89.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x89.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x89.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x89.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x89] = [
+'Ji ', 'Zhi ', 'Gua ', 'Ken ', 'Che ', 'Ti ', 'Ti ', 'Fu ', 'Chong ', 'Xie ', 
'Bian ', 'Die ', 'Kun ', 'Duan ', 'Xiu ', 'Xiu ',
+'He ', 'Yuan ', 'Bao ', 'Bao ', 'Fu ', 'Yu ', 'Tuan ', 'Yan ', 'Hui ', 'Bei ', 
'Chu ', 'Lu ', 'Ena ', 'Hitoe ', 'Yun ', 'Da ',
+'Gou ', 'Da ', 'Huai ', 'Rong ', 'Yuan ', 'Ru ', 'Nai ', 'Jiong ', 'Suo ', 
'Ban ', 'Tun ', 'Chi ', 'Sang ', 'Niao ', 'Ying ', 'Jie ',
+'Qian ', 'Huai ', 'Ku ', 'Lian ', 'Bao ', 'Li ', 'Zhe ', 'Shi ', 'Lu ', 'Yi ', 
'Die ', 'Xie ', 'Xian ', 'Wei ', 'Biao ', 'Cao ',
+'Ji ', 'Jiang ', 'Sen ', 'Bao ', 'Xiang ', 'Chihaya ', 'Pu ', 'Jian ', 'Zhuan 
', 'Jian ', 'Zui ', 'Ji ', 'Dan ', 'Za ', 'Fan ', 'Bo ',
+'Xiang ', 'Xin ', 'Bie ', 'Rao ', 'Man ', 'Lan ', 'Ao ', 'Duo ', 'Gui ', 'Cao 
', 'Sui ', 'Nong ', 'Chan ', 'Lian ', 'Bi ', 'Jin ',
+'Dang ', 'Shu ', 'Tan ', 'Bi ', 'Lan ', 'Pu ', 'Ru ', 'Zhi ', qq{[?] }, 'Shu 
', 'Wa ', 'Shi ', 'Bai ', 'Xie ', 'Bo ', 'Chen ',
+'Lai ', 'Long ', 'Xi ', 'Xian ', 'Lan ', 'Zhe ', 'Dai ', 'Tasuki ', 'Zan ', 
'Shi ', 'Jian ', 'Pan ', 'Yi ', 'Ran ', 'Ya ', 'Xi ',
+'Xi ', 'Yao ', 'Feng ', 'Tan ', qq{[?] }, 'Biao ', 'Fu ', 'Ba ', 'He ', 'Ji ', 
'Ji ', 'Jian ', 'Guan ', 'Bian ', 'Yan ', 'Gui ',
+'Jue ', 'Pian ', 'Mao ', 'Mi ', 'Mi ', 'Mie ', 'Shi ', 'Si ', 'Zhan ', 'Luo ', 
'Jue ', 'Mi ', 'Tiao ', 'Lian ', 'Yao ', 'Zhi ',
+'Jun ', 'Xi ', 'Shan ', 'Wei ', 'Xi ', 'Tian ', 'Yu ', 'Lan ', 'E ', 'Du ', 
'Qin ', 'Pang ', 'Ji ', 'Ming ', 'Ying ', 'Gou ',
+'Qu ', 'Zhan ', 'Jin ', 'Guan ', 'Deng ', 'Jian ', 'Luo ', 'Qu ', 'Jian ', 
'Wei ', 'Jue ', 'Qu ', 'Luo ', 'Lan ', 'Shen ', 'Di ',
+'Guan ', 'Jian ', 'Guan ', 'Yan ', 'Gui ', 'Mi ', 'Shi ', 'Zhan ', 'Lan ', 
'Jue ', 'Ji ', 'Xi ', 'Di ', 'Tian ', 'Yu ', 'Gou ',
+'Jin ', 'Qu ', 'Jiao ', 'Jiu ', 'Jin ', 'Cu ', 'Jue ', 'Zhi ', 'Chao ', 'Ji ', 
'Gu ', 'Dan ', 'Zui ', 'Di ', 'Shang ', 'Hua ',
+'Quan ', 'Ge ', 'Chi ', 'Jie ', 'Gui ', 'Gong ', 'Hong ', 'Jie ', 'Hun ', 'Qiu 
', 'Xing ', 'Su ', 'Ni ', 'Ji ', 'Lu ', 'Zhi ',
+'Zha ', 'Bi ', 'Xing ', 'Hu ', 'Shang ', 'Gong ', 'Zhi ', 'Xue ', 'Chu ', 'Xi 
', 'Yi ', 'Lu ', 'Jue ', 'Xi ', 'Yan ', 'Xi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8a.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8a.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8a.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8a.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x8a] = [
+'Yan ', 'Yan ', 'Ding ', 'Fu ', 'Qiu ', 'Qiu ', 'Jiao ', 'Hong ', 'Ji ', 'Fan 
', 'Xun ', 'Diao ', 'Hong ', 'Cha ', 'Tao ', 'Xu ',
+'Jie ', 'Yi ', 'Ren ', 'Xun ', 'Yin ', 'Shan ', 'Qi ', 'Tuo ', 'Ji ', 'Xun ', 
'Yin ', 'E ', 'Fen ', 'Ya ', 'Yao ', 'Song ',
+'Shen ', 'Yin ', 'Xin ', 'Jue ', 'Xiao ', 'Ne ', 'Chen ', 'You ', 'Zhi ', 
'Xiong ', 'Fang ', 'Xin ', 'Chao ', 'She ', 'Xian ', 'Sha ',
+'Tun ', 'Xu ', 'Yi ', 'Yi ', 'Su ', 'Chi ', 'He ', 'Shen ', 'He ', 'Xu ', 
'Zhen ', 'Zhu ', 'Zheng ', 'Gou ', 'Zi ', 'Zi ',
+'Zhan ', 'Gu ', 'Fu ', 'Quan ', 'Die ', 'Ling ', 'Di ', 'Yang ', 'Li ', 'Nao 
', 'Pan ', 'Zhou ', 'Gan ', 'Yi ', 'Ju ', 'Ao ',
+'Zha ', 'Tuo ', 'Yi ', 'Qu ', 'Zhao ', 'Ping ', 'Bi ', 'Xiong ', 'Qu ', 'Ba ', 
'Da ', 'Zu ', 'Tao ', 'Zhu ', 'Ci ', 'Zhe ',
+'Yong ', 'Xu ', 'Xun ', 'Yi ', 'Huang ', 'He ', 'Shi ', 'Cha ', 'Jiao ', 'Shi 
', 'Hen ', 'Cha ', 'Gou ', 'Gui ', 'Quan ', 'Hui ',
+'Jie ', 'Hua ', 'Gai ', 'Xiang ', 'Wei ', 'Shen ', 'Chou ', 'Tong ', 'Mi ', 
'Zhan ', 'Ming ', 'E ', 'Hui ', 'Yan ', 'Xiong ', 'Gua ',
+'Er ', 'Beng ', 'Tiao ', 'Chi ', 'Lei ', 'Zhu ', 'Kuang ', 'Kua ', 'Wu ', 'Yu 
', 'Teng ', 'Ji ', 'Zhi ', 'Ren ', 'Su ', 'Lang ',
+'E ', 'Kuang ', 'E ', 'Shi ', 'Ting ', 'Dan ', 'Bo ', 'Chan ', 'You ', 'Heng 
', 'Qiao ', 'Qin ', 'Shua ', 'An ', 'Yu ', 'Xiao ',
+'Cheng ', 'Jie ', 'Xian ', 'Wu ', 'Wu ', 'Gao ', 'Song ', 'Pu ', 'Hui ', 'Jing 
', 'Shuo ', 'Zhen ', 'Shuo ', 'Du ', 'Yasashi ', 'Chang ',
+'Shui ', 'Jie ', 'Ke ', 'Qu ', 'Cong ', 'Xiao ', 'Sui ', 'Wang ', 'Xuan ', 
'Fei ', 'Chi ', 'Ta ', 'Yi ', 'Na ', 'Yin ', 'Diao ',
+'Pi ', 'Chuo ', 'Chan ', 'Chen ', 'Zhun ', 'Ji ', 'Qi ', 'Tan ', 'Zhui ', 'Wei 
', 'Ju ', 'Qing ', 'Jian ', 'Zheng ', 'Ze ', 'Zou ',
+'Qian ', 'Zhuo ', 'Liang ', 'Jian ', 'Zhu ', 'Hao ', 'Lun ', 'Shen ', 'Biao ', 
'Huai ', 'Pian ', 'Yu ', 'Die ', 'Xu ', 'Pian ', 'Shi ',
+'Xuan ', 'Shi ', 'Hun ', 'Hua ', 'E ', 'Zhong ', 'Di ', 'Xie ', 'Fu ', 'Pu ', 
'Ting ', 'Jian ', 'Qi ', 'Yu ', 'Zi ', 'Chuan ',
+'Xi ', 'Hui ', 'Yin ', 'An ', 'Xian ', 'Nan ', 'Chen ', 'Feng ', 'Zhu ', 'Yang 
', 'Yan ', 'Heng ', 'Xuan ', 'Ge ', 'Nuo ', 'Qi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8b.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8b.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8b.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8b.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x8b] = [
+'Mou ', 'Ye ', 'Wei ', qq{[?] }, 'Teng ', 'Zou ', 'Shan ', 'Jian ', 'Bo ', 'Ku 
', 'Huang ', 'Huo ', 'Ge ', 'Ying ', 'Mi ', 'Xiao ',
+'Mi ', 'Xi ', 'Qiang ', 'Chen ', 'Nue ', 'Ti ', 'Su ', 'Bang ', 'Chi ', 'Qian 
', 'Shi ', 'Jiang ', 'Yuan ', 'Xie ', 'Xue ', 'Tao ',
+'Yao ', 'Yao ', qq{[?] }, 'Yu ', 'Biao ', 'Cong ', 'Qing ', 'Li ', 'Mo ', 'Mo 
', 'Shang ', 'Zhe ', 'Miu ', 'Jian ', 'Ze ', 'Jie ',
+'Lian ', 'Lou ', 'Can ', 'Ou ', 'Guan ', 'Xi ', 'Zhuo ', 'Ao ', 'Ao ', 'Jin ', 
'Zhe ', 'Yi ', 'Hu ', 'Jiang ', 'Man ', 'Chao ',
+'Han ', 'Hua ', 'Chan ', 'Xu ', 'Zeng ', 'Se ', 'Xi ', 'She ', 'Dui ', 'Zheng 
', 'Nao ', 'Lan ', 'E ', 'Ying ', 'Jue ', 'Ji ',
+'Zun ', 'Jiao ', 'Bo ', 'Hui ', 'Zhuan ', 'Mu ', 'Zen ', 'Zha ', 'Shi ', 'Qiao 
', 'Tan ', 'Zen ', 'Pu ', 'Sheng ', 'Xuan ', 'Zao ',
+'Tan ', 'Dang ', 'Sui ', 'Qian ', 'Ji ', 'Jiao ', 'Jing ', 'Lian ', 'Nou ', 
'Yi ', 'Ai ', 'Zhan ', 'Pi ', 'Hui ', 'Hua ', 'Yi ',
+'Yi ', 'Shan ', 'Rang ', 'Nou ', 'Qian ', 'Zhui ', 'Ta ', 'Hu ', 'Zhou ', 'Hao 
', 'Ye ', 'Ying ', 'Jian ', 'Yu ', 'Jian ', 'Hui ',
+'Du ', 'Zhe ', 'Xuan ', 'Zan ', 'Lei ', 'Shen ', 'Wei ', 'Chan ', 'Li ', 'Yi 
', 'Bian ', 'Zhe ', 'Yan ', 'E ', 'Chou ', 'Wei ',
+'Chou ', 'Yao ', 'Chan ', 'Rang ', 'Yin ', 'Lan ', 'Chen ', 'Huo ', 'Zhe ', 
'Huan ', 'Zan ', 'Yi ', 'Dang ', 'Zhan ', 'Yan ', 'Du ',
+'Yan ', 'Ji ', 'Ding ', 'Fu ', 'Ren ', 'Ji ', 'Jie ', 'Hong ', 'Tao ', 'Rang 
', 'Shan ', 'Qi ', 'Tuo ', 'Xun ', 'Yi ', 'Xun ',
+'Ji ', 'Ren ', 'Jiang ', 'Hui ', 'Ou ', 'Ju ', 'Ya ', 'Ne ', 'Xu ', 'E ', 'Lun 
', 'Xiong ', 'Song ', 'Feng ', 'She ', 'Fang ',
+'Jue ', 'Zheng ', 'Gu ', 'He ', 'Ping ', 'Zu ', 'Shi ', 'Xiong ', 'Zha ', 'Su 
', 'Zhen ', 'Di ', 'Zou ', 'Ci ', 'Qu ', 'Zhao ',
+'Bi ', 'Yi ', 'Yi ', 'Kuang ', 'Lei ', 'Shi ', 'Gua ', 'Shi ', 'Jie ', 'Hui ', 
'Cheng ', 'Zhu ', 'Shen ', 'Hua ', 'Dan ', 'Gou ',
+'Quan ', 'Gui ', 'Xun ', 'Yi ', 'Zheng ', 'Gai ', 'Xiang ', 'Cha ', 'Hun ', 
'Xu ', 'Zhou ', 'Jie ', 'Wu ', 'Yu ', 'Qiao ', 'Wu ',
+'Gao ', 'You ', 'Hui ', 'Kuang ', 'Shuo ', 'Song ', 'Ai ', 'Qing ', 'Zhu ', 
'Zou ', 'Nuo ', 'Du ', 'Zhuo ', 'Fei ', 'Ke ', 'Wei ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8c.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8c.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8c.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8c.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x8c] = [
+'Yu ', 'Shui ', 'Shen ', 'Diao ', 'Chan ', 'Liang ', 'Zhun ', 'Sui ', 'Tan ', 
'Shen ', 'Yi ', 'Mou ', 'Chen ', 'Die ', 'Huang ', 'Jian ',
+'Xie ', 'Nue ', 'Ye ', 'Wei ', 'E ', 'Yu ', 'Xuan ', 'Chan ', 'Zi ', 'An ', 
'Yan ', 'Di ', 'Mi ', 'Pian ', 'Xu ', 'Mo ',
+'Dang ', 'Su ', 'Xie ', 'Yao ', 'Bang ', 'Shi ', 'Qian ', 'Mi ', 'Jin ', 'Man 
', 'Zhe ', 'Jian ', 'Miu ', 'Tan ', 'Zen ', 'Qiao ',
+'Lan ', 'Pu ', 'Jue ', 'Yan ', 'Qian ', 'Zhan ', 'Chen ', 'Gu ', 'Qian ', 
'Hong ', 'Xia ', 'Jue ', 'Hong ', 'Han ', 'Hong ', 'Xi ',
+'Xi ', 'Huo ', 'Liao ', 'Han ', 'Du ', 'Long ', 'Dou ', 'Jiang ', 'Qi ', 'Shi 
', 'Li ', 'Deng ', 'Wan ', 'Bi ', 'Shu ', 'Xian ',
+'Feng ', 'Zhi ', 'Zhi ', 'Yan ', 'Yan ', 'Shi ', 'Chu ', 'Hui ', 'Tun ', 'Yi 
', 'Tun ', 'Yi ', 'Jian ', 'Ba ', 'Hou ', 'E ',
+'Cu ', 'Xiang ', 'Huan ', 'Jian ', 'Ken ', 'Gai ', 'Qu ', 'Fu ', 'Xi ', 'Bin 
', 'Hao ', 'Yu ', 'Zhu ', 'Jia ', qq{[?] }, 'Xi ',
+'Bo ', 'Wen ', 'Huan ', 'Bin ', 'Di ', 'Zong ', 'Fen ', 'Yi ', 'Zhi ', 'Bao ', 
'Chai ', 'Han ', 'Pi ', 'Na ', 'Pi ', 'Gou ',
+'Na ', 'You ', 'Diao ', 'Mo ', 'Si ', 'Xiu ', 'Huan ', 'Kun ', 'He ', 'He ', 
'Mo ', 'Han ', 'Mao ', 'Li ', 'Ni ', 'Bi ',
+'Yu ', 'Jia ', 'Tuan ', 'Mao ', 'Pi ', 'Xi ', 'E ', 'Ju ', 'Mo ', 'Chu ', 'Tan 
', 'Huan ', 'Jue ', 'Bei ', 'Zhen ', 'Yuan ',
+'Fu ', 'Cai ', 'Gong ', 'Te ', 'Yi ', 'Hang ', 'Wan ', 'Pin ', 'Huo ', 'Fan ', 
'Tan ', 'Guan ', 'Ze ', 'Zhi ', 'Er ', 'Zhu ',
+'Shi ', 'Bi ', 'Zi ', 'Er ', 'Gui ', 'Pian ', 'Bian ', 'Mai ', 'Dai ', 'Sheng 
', 'Kuang ', 'Fei ', 'Tie ', 'Yi ', 'Chi ', 'Mao ',
+'He ', 'Bi ', 'Lu ', 'Ren ', 'Hui ', 'Gai ', 'Pian ', 'Zi ', 'Jia ', 'Xu ', 
'Zei ', 'Jiao ', 'Gai ', 'Zang ', 'Jian ', 'Ying ',
+'Xun ', 'Zhen ', 'She ', 'Bin ', 'Bin ', 'Qiu ', 'She ', 'Chuan ', 'Zang ', 
'Zhou ', 'Lai ', 'Zan ', 'Si ', 'Chen ', 'Shang ', 'Tian ',
+'Pei ', 'Geng ', 'Xian ', 'Mai ', 'Jian ', 'Sui ', 'Fu ', 'Tan ', 'Cong ', 
'Cong ', 'Zhi ', 'Ji ', 'Zhang ', 'Du ', 'Jin ', 'Xiong ',
+'Shun ', 'Yun ', 'Bao ', 'Zai ', 'Lai ', 'Feng ', 'Cang ', 'Ji ', 'Sheng ', 
'Ai ', 'Zhuan ', 'Fu ', 'Gou ', 'Sai ', 'Ze ', 'Liao ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8d.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8d.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8d.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8d.pm       12 Oct 2011 
23:51:06 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x8d] = [
+'Wei ', 'Bai ', 'Chen ', 'Zhuan ', 'Zhi ', 'Zhui ', 'Biao ', 'Yun ', 'Zeng ', 
'Tan ', 'Zan ', 'Yan ', qq{[?] }, 'Shan ', 'Wan ', 'Ying ',
+'Jin ', 'Gan ', 'Xian ', 'Zang ', 'Bi ', 'Du ', 'Shu ', 'Yan ', qq{[?] }, 
'Xuan ', 'Long ', 'Gan ', 'Zang ', 'Bei ', 'Zhen ', 'Fu ',
+'Yuan ', 'Gong ', 'Cai ', 'Ze ', 'Xian ', 'Bai ', 'Zhang ', 'Huo ', 'Zhi ', 
'Fan ', 'Tan ', 'Pin ', 'Bian ', 'Gou ', 'Zhu ', 'Guan ',
+'Er ', 'Jian ', 'Bi ', 'Shi ', 'Tie ', 'Gui ', 'Kuang ', 'Dai ', 'Mao ', 'Fei 
', 'He ', 'Yi ', 'Zei ', 'Zhi ', 'Jia ', 'Hui ',
+'Zi ', 'Ren ', 'Lu ', 'Zang ', 'Zi ', 'Gai ', 'Jin ', 'Qiu ', 'Zhen ', 'Lai ', 
'She ', 'Fu ', 'Du ', 'Ji ', 'Shu ', 'Shang ',
+'Si ', 'Bi ', 'Zhou ', 'Geng ', 'Pei ', 'Tan ', 'Lai ', 'Feng ', 'Zhui ', 'Fu 
', 'Zhuan ', 'Sai ', 'Ze ', 'Yan ', 'Zan ', 'Yun ',
+'Zeng ', 'Shan ', 'Ying ', 'Gan ', 'Chi ', 'Xi ', 'She ', 'Nan ', 'Xiong ', 
'Xi ', 'Cheng ', 'He ', 'Cheng ', 'Zhe ', 'Xia ', 'Tang ',
+'Zou ', 'Zou ', 'Li ', 'Jiu ', 'Fu ', 'Zhao ', 'Gan ', 'Qi ', 'Shan ', 'Qiong 
', 'Qin ', 'Xian ', 'Ci ', 'Jue ', 'Qin ', 'Chi ',
+'Ci ', 'Chen ', 'Chen ', 'Die ', 'Ju ', 'Chao ', 'Di ', 'Se ', 'Zhan ', 'Zhu 
', 'Yue ', 'Qu ', 'Jie ', 'Chi ', 'Chu ', 'Gua ',
+'Xue ', 'Ci ', 'Tiao ', 'Duo ', 'Lie ', 'Gan ', 'Suo ', 'Cu ', 'Xi ', 'Zhao ', 
'Su ', 'Yin ', 'Ju ', 'Jian ', 'Que ', 'Tang ',
+'Chuo ', 'Cui ', 'Lu ', 'Qu ', 'Dang ', 'Qiu ', 'Zi ', 'Ti ', 'Qu ', 'Chi ', 
'Huang ', 'Qiao ', 'Qiao ', 'Yao ', 'Zao ', 'Ti ',
+qq{[?] }, 'Zan ', 'Zan ', 'Zu ', 'Pa ', 'Bao ', 'Ku ', 'Ke ', 'Dun ', 'Jue ', 
'Fu ', 'Chen ', 'Jian ', 'Fang ', 'Zhi ', 'Sa ',
+'Yue ', 'Pa ', 'Qi ', 'Yue ', 'Qiang ', 'Tuo ', 'Tai ', 'Yi ', 'Nian ', 'Ling 
', 'Mei ', 'Ba ', 'Die ', 'Ku ', 'Tuo ', 'Jia ',
+'Ci ', 'Pao ', 'Qia ', 'Zhu ', 'Ju ', 'Die ', 'Zhi ', 'Fu ', 'Pan ', 'Ju ', 
'Shan ', 'Bo ', 'Ni ', 'Ju ', 'Li ', 'Gen ',
+'Yi ', 'Ji ', 'Dai ', 'Xian ', 'Jiao ', 'Duo ', 'Zhu ', 'Zhuan ', 'Kua ', 
'Zhuai ', 'Gui ', 'Qiong ', 'Kui ', 'Xiang ', 'Chi ', 'Lu ',
+'Beng ', 'Zhi ', 'Jia ', 'Tiao ', 'Cai ', 'Jian ', 'Ta ', 'Qiao ', 'Bi ', 
'Xian ', 'Duo ', 'Ji ', 'Ju ', 'Ji ', 'Shu ', 'Tu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8e.pm       12 Oct 2011 
23:51:07 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x8e] = [
+'Chu ', 'Jing ', 'Nie ', 'Xiao ', 'Bo ', 'Chi ', 'Qun ', 'Mou ', 'Shu ', 'Lang 
', 'Yong ', 'Jiao ', 'Chou ', 'Qiao ', qq{[?] }, 'Ta ',
+'Jian ', 'Qi ', 'Wo ', 'Wei ', 'Zhuo ', 'Jie ', 'Ji ', 'Nie ', 'Ju ', 'Ju ', 
'Lun ', 'Lu ', 'Leng ', 'Huai ', 'Ju ', 'Chi ',
+'Wan ', 'Quan ', 'Ti ', 'Bo ', 'Zu ', 'Qie ', 'Ji ', 'Cu ', 'Zong ', 'Cai ', 
'Zong ', 'Peng ', 'Zhi ', 'Zheng ', 'Dian ', 'Zhi ',
+'Yu ', 'Duo ', 'Dun ', 'Chun ', 'Yong ', 'Zhong ', 'Di ', 'Zhe ', 'Chen ', 
'Chuai ', 'Jian ', 'Gua ', 'Tang ', 'Ju ', 'Fu ', 'Zu ',
+'Die ', 'Pian ', 'Rou ', 'Nuo ', 'Ti ', 'Cha ', 'Tui ', 'Jian ', 'Dao ', 'Cuo 
', 'Xi ', 'Ta ', 'Qiang ', 'Zhan ', 'Dian ', 'Ti ',
+'Ji ', 'Nie ', 'Man ', 'Liu ', 'Zhan ', 'Bi ', 'Chong ', 'Lu ', 'Liao ', 'Cu 
', 'Tang ', 'Dai ', 'Suo ', 'Xi ', 'Kui ', 'Ji ',
+'Zhi ', 'Qiang ', 'Di ', 'Man ', 'Zong ', 'Lian ', 'Beng ', 'Zao ', 'Nian ', 
'Bie ', 'Tui ', 'Ju ', 'Deng ', 'Ceng ', 'Xian ', 'Fan ',
+'Chu ', 'Zhong ', 'Dun ', 'Bo ', 'Cu ', 'Zu ', 'Jue ', 'Jue ', 'Lin ', 'Ta ', 
'Qiao ', 'Qiao ', 'Pu ', 'Liao ', 'Dun ', 'Cuan ',
+'Kuang ', 'Zao ', 'Ta ', 'Bi ', 'Bi ', 'Zhu ', 'Ju ', 'Chu ', 'Qiao ', 'Dun ', 
'Chou ', 'Ji ', 'Wu ', 'Yue ', 'Nian ', 'Lin ',
+'Lie ', 'Zhi ', 'Li ', 'Zhi ', 'Chan ', 'Chu ', 'Duan ', 'Wei ', 'Long ', 'Lin 
', 'Xian ', 'Wei ', 'Zuan ', 'Lan ', 'Xie ', 'Rang ',
+'Xie ', 'Nie ', 'Ta ', 'Qu ', 'Jie ', 'Cuan ', 'Zuan ', 'Xi ', 'Kui ', 'Jue ', 
'Lin ', 'Shen ', 'Gong ', 'Dan ', 'Segare ', 'Qu ',
+'Ti ', 'Duo ', 'Duo ', 'Gong ', 'Lang ', 'Nerau ', 'Luo ', 'Ai ', 'Ji ', 'Ju 
', 'Tang ', 'Utsuke ', qq{[?] }, 'Yan ', 'Shitsuke ', 'Kang ',
+'Qu ', 'Lou ', 'Lao ', 'Tuo ', 'Zhi ', 'Yagate ', 'Ti ', 'Dao ', 'Yagate ', 
'Yu ', 'Che ', 'Ya ', 'Gui ', 'Jun ', 'Wei ', 'Yue ',
+'Xin ', 'Di ', 'Xuan ', 'Fan ', 'Ren ', 'Shan ', 'Qiang ', 'Shu ', 'Tun ', 
'Chen ', 'Dai ', 'E ', 'Na ', 'Qi ', 'Mao ', 'Ruan ',
+'Ren ', 'Fan ', 'Zhuan ', 'Hong ', 'Hu ', 'Qu ', 'Huang ', 'Di ', 'Ling ', 
'Dai ', 'Ao ', 'Zhen ', 'Fan ', 'Kuang ', 'Ang ', 'Peng ',
+'Bei ', 'Gu ', 'Ku ', 'Pao ', 'Zhu ', 'Rong ', 'E ', 'Ba ', 'Zhou ', 'Zhi ', 
'Yao ', 'Ke ', 'Yi ', 'Qing ', 'Shi ', 'Ping ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x8f.pm       12 Oct 2011 
23:51:07 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x8f] = [
+'Er ', 'Qiong ', 'Ju ', 'Jiao ', 'Guang ', 'Lu ', 'Kai ', 'Quan ', 'Zhou ', 
'Zai ', 'Zhi ', 'She ', 'Liang ', 'Yu ', 'Shao ', 'You ',
+'Huan ', 'Yun ', 'Zhe ', 'Wan ', 'Fu ', 'Qing ', 'Zhou ', 'Ni ', 'Ling ', 'Zhe 
', 'Zhan ', 'Liang ', 'Zi ', 'Hui ', 'Wang ', 'Chuo ',
+'Guo ', 'Kan ', 'Yi ', 'Peng ', 'Qian ', 'Gun ', 'Nian ', 'Pian ', 'Guan ', 
'Bei ', 'Lun ', 'Pai ', 'Liang ', 'Ruan ', 'Rou ', 'Ji ',
+'Yang ', 'Xian ', 'Chuan ', 'Cou ', 'Qun ', 'Ge ', 'You ', 'Hong ', 'Shu ', 
'Fu ', 'Zi ', 'Fu ', 'Wen ', 'Ben ', 'Zhan ', 'Yu ',
+'Wen ', 'Tao ', 'Gu ', 'Zhen ', 'Xia ', 'Yuan ', 'Lu ', 'Jiu ', 'Chao ', 
'Zhuan ', 'Wei ', 'Hun ', 'Sori ', 'Che ', 'Jiao ', 'Zhan ',
+'Pu ', 'Lao ', 'Fen ', 'Fan ', 'Lin ', 'Ge ', 'Se ', 'Kan ', 'Huan ', 'Yi ', 
'Ji ', 'Dui ', 'Er ', 'Yu ', 'Xian ', 'Hong ',
+'Lei ', 'Pei ', 'Li ', 'Li ', 'Lu ', 'Lin ', 'Che ', 'Ya ', 'Gui ', 'Xuan ', 
'Di ', 'Ren ', 'Zhuan ', 'E ', 'Lun ', 'Ruan ',
+'Hong ', 'Ku ', 'Ke ', 'Lu ', 'Zhou ', 'Zhi ', 'Yi ', 'Hu ', 'Zhen ', 'Li ', 
'Yao ', 'Qing ', 'Shi ', 'Zai ', 'Zhi ', 'Jiao ',
+'Zhou ', 'Quan ', 'Lu ', 'Jiao ', 'Zhe ', 'Fu ', 'Liang ', 'Nian ', 'Bei ', 
'Hui ', 'Gun ', 'Wang ', 'Liang ', 'Chuo ', 'Zi ', 'Cou ',
+'Fu ', 'Ji ', 'Wen ', 'Shu ', 'Pei ', 'Yuan ', 'Xia ', 'Zhan ', 'Lu ', 'Che ', 
'Lin ', 'Xin ', 'Gu ', 'Ci ', 'Ci ', 'Pi ',
+'Zui ', 'Bian ', 'La ', 'La ', 'Ci ', 'Xue ', 'Ban ', 'Bian ', 'Bian ', 'Bian 
', qq{[?] }, 'Bian ', 'Ban ', 'Ci ', 'Bian ', 'Bian ',
+'Chen ', 'Ru ', 'Nong ', 'Nong ', 'Zhen ', 'Chuo ', 'Chuo ', 'Suberu ', 'Reng 
', 'Bian ', 'Bian ', 'Sip ', 'Ip ', 'Liao ', 'Da ', 'Chan ',
+'Gan ', 'Qian ', 'Yu ', 'Yu ', 'Qi ', 'Xun ', 'Yi ', 'Guo ', 'Mai ', 'Qi ', 
'Za ', 'Wang ', 'Jia ', 'Zhun ', 'Ying ', 'Ti ',
+'Yun ', 'Jin ', 'Hang ', 'Ya ', 'Fan ', 'Wu ', 'Da ', 'E ', 'Huan ', 'Zhe ', 
'Totemo ', 'Jin ', 'Yuan ', 'Wei ', 'Lian ', 'Chi ',
+'Che ', 'Ni ', 'Tiao ', 'Zhi ', 'Yi ', 'Jiong ', 'Jia ', 'Chen ', 'Dai ', 'Er 
', 'Di ', 'Po ', 'Wang ', 'Die ', 'Ze ', 'Tao ',
+'Shu ', 'Tuo ', 'Kep ', 'Jing ', 'Hui ', 'Tong ', 'You ', 'Mi ', 'Beng ', 'Ji 
', 'Nai ', 'Yi ', 'Jie ', 'Zhui ', 'Lie ', 'Xun ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x90.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x90.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x90.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x90.pm       12 Oct 2011 
23:51:07 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:34 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x90] = [
+'Tui ', 'Song ', 'Gua ', 'Tao ', 'Pang ', 'Hou ', 'Ni ', 'Dun ', 'Jiong ', 
'Xuan ', 'Xun ', 'Bu ', 'You ', 'Xiao ', 'Qiu ', 'Tou ',
+'Zhu ', 'Qiu ', 'Di ', 'Di ', 'Tu ', 'Jing ', 'Ti ', 'Dou ', 'Yi ', 'Zhe ', 
'Tong ', 'Guang ', 'Wu ', 'Shi ', 'Cheng ', 'Su ',
+'Zao ', 'Qun ', 'Feng ', 'Lian ', 'Suo ', 'Hui ', 'Li ', 'Sako ', 'Lai ', 'Ben 
', 'Cuo ', 'Jue ', 'Beng ', 'Huan ', 'Dai ', 'Lu ',
+'You ', 'Zhou ', 'Jin ', 'Yu ', 'Chuo ', 'Kui ', 'Wei ', 'Ti ', 'Yi ', 'Da ', 
'Yuan ', 'Luo ', 'Bi ', 'Nuo ', 'Yu ', 'Dang ',
+'Sui ', 'Dun ', 'Sui ', 'Yan ', 'Chuan ', 'Chi ', 'Ti ', 'Yu ', 'Shi ', 'Zhen 
', 'You ', 'Yun ', 'E ', 'Bian ', 'Guo ', 'E ',
+'Xia ', 'Huang ', 'Qiu ', 'Dao ', 'Da ', 'Wei ', 'Appare ', 'Yi ', 'Gou ', 
'Yao ', 'Chu ', 'Liu ', 'Xun ', 'Ta ', 'Di ', 'Chi ',
+'Yuan ', 'Su ', 'Ta ', 'Qian ', qq{[?] }, 'Yao ', 'Guan ', 'Zhang ', 'Ao ', 
'Shi ', 'Ce ', 'Chi ', 'Su ', 'Zao ', 'Zhe ', 'Dun ',
+'Di ', 'Lou ', 'Chi ', 'Cuo ', 'Lin ', 'Zun ', 'Rao ', 'Qian ', 'Xuan ', 'Yu 
', 'Yi ', 'Wu ', 'Liao ', 'Ju ', 'Shi ', 'Bi ',
+'Yao ', 'Mai ', 'Xie ', 'Sui ', 'Huan ', 'Zhan ', 'Teng ', 'Er ', 'Miao ', 
'Bian ', 'Bian ', 'La ', 'Li ', 'Yuan ', 'Yao ', 'Luo ',
+'Li ', 'Yi ', 'Ting ', 'Deng ', 'Qi ', 'Yong ', 'Shan ', 'Han ', 'Yu ', 'Mang 
', 'Ru ', 'Qiong ', qq{[?] }, 'Kuang ', 'Fu ', 'Kang ',
+'Bin ', 'Fang ', 'Xing ', 'Na ', 'Xin ', 'Shen ', 'Bang ', 'Yuan ', 'Cun ', 
'Huo ', 'Xie ', 'Bang ', 'Wu ', 'Ju ', 'You ', 'Han ',
+'Tai ', 'Qiu ', 'Bi ', 'Pei ', 'Bing ', 'Shao ', 'Bei ', 'Wa ', 'Di ', 'Zou ', 
'Ye ', 'Lin ', 'Kuang ', 'Gui ', 'Zhu ', 'Shi ',
+'Ku ', 'Yu ', 'Gai ', 'Ge ', 'Xi ', 'Zhi ', 'Ji ', 'Xun ', 'Hou ', 'Xing ', 
'Jiao ', 'Xi ', 'Gui ', 'Nuo ', 'Lang ', 'Jia ',
+'Kuai ', 'Zheng ', 'Otoko ', 'Yun ', 'Yan ', 'Cheng ', 'Dou ', 'Chi ', 'Lu ', 
'Fu ', 'Wu ', 'Fu ', 'Gao ', 'Hao ', 'Lang ', 'Jia ',
+'Geng ', 'Jun ', 'Ying ', 'Bo ', 'Xi ', 'Bei ', 'Li ', 'Yun ', 'Bu ', 'Xiao ', 
'Qi ', 'Pi ', 'Qing ', 'Guo ', 'Zhou ', 'Tan ',
+'Zou ', 'Ping ', 'Lai ', 'Ni ', 'Chen ', 'You ', 'Bu ', 'Xiang ', 'Dan ', 'Ju 
', 'Yong ', 'Qiao ', 'Yi ', 'Du ', 'Yan ', 'Mei ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x91.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x91.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x91.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x91.pm       12 Oct 2011 
23:51:07 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x91] = [
+'Ruo ', 'Bei ', 'E ', 'Yu ', 'Juan ', 'Yu ', 'Yun ', 'Hou ', 'Kui ', 'Xiang ', 
'Xiang ', 'Sou ', 'Tang ', 'Ming ', 'Xi ', 'Ru ',
+'Chu ', 'Zi ', 'Zou ', 'Ju ', 'Wu ', 'Xiang ', 'Yun ', 'Hao ', 'Yong ', 'Bi ', 
'Mo ', 'Chao ', 'Fu ', 'Liao ', 'Yin ', 'Zhuan ',
+'Hu ', 'Qiao ', 'Yan ', 'Zhang ', 'Fan ', 'Qiao ', 'Xu ', 'Deng ', 'Bi ', 'Xin 
', 'Bi ', 'Ceng ', 'Wei ', 'Zheng ', 'Mao ', 'Shan ',
+'Lin ', 'Po ', 'Dan ', 'Meng ', 'Ye ', 'Cao ', 'Kuai ', 'Feng ', 'Meng ', 'Zou 
', 'Kuang ', 'Lian ', 'Zan ', 'Chan ', 'You ', 'Qi ',
+'Yan ', 'Chan ', 'Zan ', 'Ling ', 'Huan ', 'Xi ', 'Feng ', 'Zan ', 'Li ', 'You 
', 'Ding ', 'Qiu ', 'Zhuo ', 'Pei ', 'Zhou ', 'Yi ',
+'Hang ', 'Yu ', 'Jiu ', 'Yan ', 'Zui ', 'Mao ', 'Dan ', 'Xu ', 'Tou ', 'Zhen 
', 'Fen ', 'Sakenomoto ', qq{[?] }, 'Yun ', 'Tai ', 'Tian ',
+'Qia ', 'Tuo ', 'Zuo ', 'Han ', 'Gu ', 'Su ', 'Po ', 'Chou ', 'Zai ', 'Ming ', 
'Luo ', 'Chuo ', 'Chou ', 'You ', 'Tong ', 'Zhi ',
+'Xian ', 'Jiang ', 'Cheng ', 'Yin ', 'Tu ', 'Xiao ', 'Mei ', 'Ku ', 'Suan ', 
'Lei ', 'Pu ', 'Zui ', 'Hai ', 'Yan ', 'Xi ', 'Niang ',
+'Wei ', 'Lu ', 'Lan ', 'Yan ', 'Tao ', 'Pei ', 'Zhan ', 'Chun ', 'Tan ', 'Zui 
', 'Chuo ', 'Cu ', 'Kun ', 'Ti ', 'Mian ', 'Du ',
+'Hu ', 'Xu ', 'Xing ', 'Tan ', 'Jiu ', 'Chun ', 'Yun ', 'Po ', 'Ke ', 'Sou ', 
'Mi ', 'Quan ', 'Chou ', 'Cuo ', 'Yun ', 'Yong ',
+'Ang ', 'Zha ', 'Hai ', 'Tang ', 'Jiang ', 'Piao ', 'Shan ', 'Yu ', 'Li ', 
'Zao ', 'Lao ', 'Yi ', 'Jiang ', 'Pu ', 'Jiao ', 'Xi ',
+'Tan ', 'Po ', 'Nong ', 'Yi ', 'Li ', 'Ju ', 'Jiao ', 'Yi ', 'Niang ', 'Ru ', 
'Xun ', 'Chou ', 'Yan ', 'Ling ', 'Mi ', 'Mi ',
+'Niang ', 'Xin ', 'Jiao ', 'Xi ', 'Mi ', 'Yan ', 'Bian ', 'Cai ', 'Shi ', 'You 
', 'Shi ', 'Shi ', 'Li ', 'Zhong ', 'Ye ', 'Liang ',
+'Li ', 'Jin ', 'Jin ', 'Qiu ', 'Yi ', 'Diao ', 'Dao ', 'Zhao ', 'Ding ', 'Po 
', 'Qiu ', 'He ', 'Fu ', 'Zhen ', 'Zhi ', 'Ba ',
+'Luan ', 'Fu ', 'Nai ', 'Diao ', 'Shan ', 'Qiao ', 'Kou ', 'Chuan ', 'Zi ', 
'Fan ', 'Yu ', 'Hua ', 'Han ', 'Gong ', 'Qi ', 'Mang ',
+'Ri ', 'Di ', 'Si ', 'Xi ', 'Yi ', 'Chai ', 'Shi ', 'Tu ', 'Xi ', 'Nu ', 'Qian 
', 'Ishiyumi ', 'Jian ', 'Pi ', 'Ye ', 'Yin ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x92.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x92.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x92.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x92.pm       12 Oct 2011 
23:51:07 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x92] = [
+'Ba ', 'Fang ', 'Chen ', 'Xing ', 'Tou ', 'Yue ', 'Yan ', 'Fu ', 'Pi ', 'Na ', 
'Xin ', 'E ', 'Jue ', 'Dun ', 'Gou ', 'Yin ',
+'Qian ', 'Ban ', 'Ji ', 'Ren ', 'Chao ', 'Niu ', 'Fen ', 'Yun ', 'Ji ', 'Qin 
', 'Pi ', 'Guo ', 'Hong ', 'Yin ', 'Jun ', 'Shi ',
+'Yi ', 'Zhong ', 'Nie ', 'Gai ', 'Ri ', 'Huo ', 'Tai ', 'Kang ', 'Habaki ', 
'Irori ', 'Ngaak ', qq{[?] }, 'Duo ', 'Zi ', 'Ni ', 'Tu ',
+'Shi ', 'Min ', 'Gu ', 'E ', 'Ling ', 'Bing ', 'Yi ', 'Gu ', 'Ba ', 'Pi ', 'Yu 
', 'Si ', 'Zuo ', 'Bu ', 'You ', 'Dian ',
+'Jia ', 'Zhen ', 'Shi ', 'Shi ', 'Tie ', 'Ju ', 'Zhan ', 'Shi ', 'She ', 'Xuan 
', 'Zhao ', 'Bao ', 'He ', 'Bi ', 'Sheng ', 'Chu ',
+'Shi ', 'Bo ', 'Zhu ', 'Chi ', 'Za ', 'Po ', 'Tong ', 'Qian ', 'Fu ', 'Zhai ', 
'Liu ', 'Qian ', 'Fu ', 'Li ', 'Yue ', 'Pi ',
+'Yang ', 'Ban ', 'Bo ', 'Jie ', 'Gou ', 'Shu ', 'Zheng ', 'Mu ', 'Ni ', 'Nie 
', 'Di ', 'Jia ', 'Mu ', 'Dan ', 'Shen ', 'Yi ',
+'Si ', 'Kuang ', 'Ka ', 'Bei ', 'Jian ', 'Tong ', 'Xing ', 'Hong ', 'Jiao ', 
'Chi ', 'Er ', 'Ge ', 'Bing ', 'Shi ', 'Mou ', 'Jia ',
+'Yin ', 'Jun ', 'Zhou ', 'Chong ', 'Shang ', 'Tong ', 'Mo ', 'Lei ', 'Ji ', 
'Yu ', 'Xu ', 'Ren ', 'Zun ', 'Zhi ', 'Qiong ', 'Shan ',
+'Chi ', 'Xian ', 'Xing ', 'Quan ', 'Pi ', 'Tie ', 'Zhu ', 'Hou ', 'Ming ', 
'Kua ', 'Yao ', 'Xian ', 'Xian ', 'Xiu ', 'Jun ', 'Cha ',
+'Lao ', 'Ji ', 'Pi ', 'Ru ', 'Mi ', 'Yi ', 'Yin ', 'Guang ', 'An ', 'Diou ', 
'You ', 'Se ', 'Kao ', 'Qian ', 'Luan ', 'Kasugai ',
+'Ai ', 'Diao ', 'Han ', 'Rui ', 'Shi ', 'Keng ', 'Qiu ', 'Xiao ', 'Zhe ', 'Xiu 
', 'Zang ', 'Ti ', 'Cuo ', 'Gua ', 'Gong ', 'Zhong ',
+'Dou ', 'Lu ', 'Mei ', 'Lang ', 'Wan ', 'Xin ', 'Yun ', 'Bei ', 'Wu ', 'Su ', 
'Yu ', 'Chan ', 'Ting ', 'Bo ', 'Han ', 'Jia ',
+'Hong ', 'Cuan ', 'Feng ', 'Chan ', 'Wan ', 'Zhi ', 'Si ', 'Xuan ', 'Wu ', 'Wu 
', 'Tiao ', 'Gong ', 'Zhuo ', 'Lue ', 'Xing ', 'Qian ',
+'Shen ', 'Han ', 'Lue ', 'Xie ', 'Chu ', 'Zheng ', 'Ju ', 'Xian ', 'Tie ', 
'Mang ', 'Pu ', 'Li ', 'Pan ', 'Rui ', 'Cheng ', 'Gao ',
+'Li ', 'Te ', 'Pyeng ', 'Zhu ', qq{[?] }, 'Tu ', 'Liu ', 'Zui ', 'Ju ', 'Chang 
', 'Yuan ', 'Jian ', 'Gang ', 'Diao ', 'Tao ', 'Chang ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x93.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x93.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x93.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x93.pm       12 Oct 2011 
23:51:07 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x93] = [
+'Lun ', 'Kua ', 'Ling ', 'Bei ', 'Lu ', 'Li ', 'Qiang ', 'Pou ', 'Juan ', 'Min 
', 'Zui ', 'Peng ', 'An ', 'Pi ', 'Xian ', 'Ya ',
+'Zhui ', 'Lei ', 'A ', 'Kong ', 'Ta ', 'Kun ', 'Du ', 'Wei ', 'Chui ', 'Zi ', 
'Zheng ', 'Ben ', 'Nie ', 'Cong ', 'Qun ', 'Tan ',
+'Ding ', 'Qi ', 'Qian ', 'Zhuo ', 'Qi ', 'Yu ', 'Jin ', 'Guan ', 'Mao ', 
'Chang ', 'Tian ', 'Xi ', 'Lian ', 'Tao ', 'Gu ', 'Cuo ',
+'Shu ', 'Zhen ', 'Lu ', 'Meng ', 'Lu ', 'Hua ', 'Biao ', 'Ga ', 'Lai ', 'Ken 
', 'Kazari ', 'Bu ', 'Nai ', 'Wan ', 'Zan ', qq{[?] },
+'De ', 'Xian ', qq{[?] }, 'Huo ', 'Liang ', qq{[?] }, 'Men ', 'Kai ', 'Ying ', 
'Di ', 'Lian ', 'Guo ', 'Xian ', 'Du ', 'Tu ', 'Wei ',
+'Cong ', 'Fu ', 'Rou ', 'Ji ', 'E ', 'Rou ', 'Chen ', 'Ti ', 'Zha ', 'Hong ', 
'Yang ', 'Duan ', 'Xia ', 'Yu ', 'Keng ', 'Xing ',
+'Huang ', 'Wei ', 'Fu ', 'Zhao ', 'Cha ', 'Qie ', 'She ', 'Hong ', 'Kui ', 
'Tian ', 'Mou ', 'Qiao ', 'Qiao ', 'Hou ', 'Tou ', 'Cong ',
+'Huan ', 'Ye ', 'Min ', 'Jian ', 'Duan ', 'Jian ', 'Song ', 'Kui ', 'Hu ', 
'Xuan ', 'Duo ', 'Jie ', 'Zhen ', 'Bian ', 'Zhong ', 'Zi ',
+'Xiu ', 'Ye ', 'Mei ', 'Pai ', 'Ai ', 'Jie ', qq{[?] }, 'Mei ', 'Chuo ', 'Ta 
', 'Bang ', 'Xia ', 'Lian ', 'Suo ', 'Xi ', 'Liu ',
+'Zu ', 'Ye ', 'Nou ', 'Weng ', 'Rong ', 'Tang ', 'Suo ', 'Qiang ', 'Ge ', 
'Shuo ', 'Chui ', 'Bo ', 'Pan ', 'Sa ', 'Bi ', 'Sang ',
+'Gang ', 'Zi ', 'Wu ', 'Ying ', 'Huang ', 'Tiao ', 'Liu ', 'Kai ', 'Sun ', 
'Sha ', 'Sou ', 'Wan ', 'Hao ', 'Zhen ', 'Zhen ', 'Luo ',
+'Yi ', 'Yuan ', 'Tang ', 'Nie ', 'Xi ', 'Jia ', 'Ge ', 'Ma ', 'Juan ', 
'Kasugai ', 'Habaki ', 'Suo ', qq{[?] }, qq{[?] }, qq{[?] }, 'Na ',
+'Lu ', 'Suo ', 'Ou ', 'Zu ', 'Tuan ', 'Xiu ', 'Guan ', 'Xuan ', 'Lian ', 'Shou 
', 'Ao ', 'Man ', 'Mo ', 'Luo ', 'Bi ', 'Wei ',
+'Liu ', 'Di ', 'Qiao ', 'Cong ', 'Yi ', 'Lu ', 'Ao ', 'Keng ', 'Qiang ', 'Cui 
', 'Qi ', 'Chang ', 'Tang ', 'Man ', 'Yong ', 'Chan ',
+'Feng ', 'Jing ', 'Biao ', 'Shu ', 'Lou ', 'Xiu ', 'Cong ', 'Long ', 'Zan ', 
'Jian ', 'Cao ', 'Li ', 'Xia ', 'Xi ', 'Kang ', qq{[?] },
+'Beng ', qq{[?] }, qq{[?] }, 'Zheng ', 'Lu ', 'Hua ', 'Ji ', 'Pu ', 'Hui ', 
'Qiang ', 'Po ', 'Lin ', 'Suo ', 'Xiu ', 'San ', 'Cheng ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x94.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x94.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x94.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x94.pm       12 Oct 2011 
23:51:07 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x94] = [
+'Kui ', 'Si ', 'Liu ', 'Nao ', 'Heng ', 'Pie ', 'Sui ', 'Fan ', 'Qiao ', 'Quan 
', 'Yang ', 'Tang ', 'Xiang ', 'Jue ', 'Jiao ', 'Zun ',
+'Liao ', 'Jie ', 'Lao ', 'Dui ', 'Tan ', 'Zan ', 'Ji ', 'Jian ', 'Zhong ', 
'Deng ', 'Ya ', 'Ying ', 'Dui ', 'Jue ', 'Nou ', 'Ti ',
+'Pu ', 'Tie ', qq{[?] }, qq{[?] }, 'Ding ', 'Shan ', 'Kai ', 'Jian ', 'Fei ', 
'Sui ', 'Lu ', 'Juan ', 'Hui ', 'Yu ', 'Lian ', 'Zhuo ',
+'Qiao ', 'Qian ', 'Zhuo ', 'Lei ', 'Bi ', 'Tie ', 'Huan ', 'Ye ', 'Duo ', 'Guo 
', 'Dang ', 'Ju ', 'Fen ', 'Da ', 'Bei ', 'Yi ',
+'Ai ', 'Zong ', 'Xun ', 'Diao ', 'Zhu ', 'Heng ', 'Zhui ', 'Ji ', 'Nie ', 'Ta 
', 'Huo ', 'Qing ', 'Bin ', 'Ying ', 'Kui ', 'Ning ',
+'Xu ', 'Jian ', 'Jian ', 'Yari ', 'Cha ', 'Zhi ', 'Mie ', 'Li ', 'Lei ', 'Ji 
', 'Zuan ', 'Kuang ', 'Shang ', 'Peng ', 'La ', 'Du ',
+'Shuo ', 'Chuo ', 'Lu ', 'Biao ', 'Bao ', 'Lu ', qq{[?] }, qq{[?] }, 'Long ', 
'E ', 'Lu ', 'Xin ', 'Jian ', 'Lan ', 'Bo ', 'Jian ',
+'Yao ', 'Chan ', 'Xiang ', 'Jian ', 'Xi ', 'Guan ', 'Cang ', 'Nie ', 'Lei ', 
'Cuan ', 'Qu ', 'Pan ', 'Luo ', 'Zuan ', 'Luan ', 'Zao ',
+'Nie ', 'Jue ', 'Tang ', 'Shu ', 'Lan ', 'Jin ', 'Qiu ', 'Yi ', 'Zhen ', 'Ding 
', 'Zhao ', 'Po ', 'Diao ', 'Tu ', 'Qian ', 'Chuan ',
+'Shan ', 'Ji ', 'Fan ', 'Diao ', 'Men ', 'Nu ', 'Xi ', 'Chai ', 'Xing ', 'Gai 
', 'Bu ', 'Tai ', 'Ju ', 'Dun ', 'Chao ', 'Zhong ',
+'Na ', 'Bei ', 'Gang ', 'Ban ', 'Qian ', 'Yao ', 'Qin ', 'Jun ', 'Wu ', 'Gou 
', 'Kang ', 'Fang ', 'Huo ', 'Tou ', 'Niu ', 'Ba ',
+'Yu ', 'Qian ', 'Zheng ', 'Qian ', 'Gu ', 'Bo ', 'E ', 'Po ', 'Bu ', 'Ba ', 
'Yue ', 'Zuan ', 'Mu ', 'Dan ', 'Jia ', 'Dian ',
+'You ', 'Tie ', 'Bo ', 'Ling ', 'Shuo ', 'Qian ', 'Liu ', 'Bao ', 'Shi ', 
'Xuan ', 'She ', 'Bi ', 'Ni ', 'Pi ', 'Duo ', 'Xing ',
+'Kao ', 'Lao ', 'Er ', 'Mang ', 'Ya ', 'You ', 'Cheng ', 'Jia ', 'Ye ', 'Nao 
', 'Zhi ', 'Dang ', 'Tong ', 'Lu ', 'Diao ', 'Yin ',
+'Kai ', 'Zha ', 'Zhu ', 'Xian ', 'Ting ', 'Diu ', 'Xian ', 'Hua ', 'Quan ', 
'Sha ', 'Jia ', 'Yao ', 'Ge ', 'Ming ', 'Zheng ', 'Se ',
+'Jiao ', 'Yi ', 'Chan ', 'Chong ', 'Tang ', 'An ', 'Yin ', 'Ru ', 'Zhu ', 'Lao 
', 'Pu ', 'Wu ', 'Lai ', 'Te ', 'Lian ', 'Keng ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x95.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x95.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x95.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x95.pm       12 Oct 2011 
23:51:08 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x95] = [
+'Xiao ', 'Suo ', 'Li ', 'Zheng ', 'Chu ', 'Guo ', 'Gao ', 'Tie ', 'Xiu ', 'Cuo 
', 'Lue ', 'Feng ', 'Xin ', 'Liu ', 'Kai ', 'Jian ',
+'Rui ', 'Ti ', 'Lang ', 'Qian ', 'Ju ', 'A ', 'Qiang ', 'Duo ', 'Tian ', 'Cuo 
', 'Mao ', 'Ben ', 'Qi ', 'De ', 'Kua ', 'Kun ',
+'Chang ', 'Xi ', 'Gu ', 'Luo ', 'Chui ', 'Zhui ', 'Jin ', 'Zhi ', 'Xian ', 
'Juan ', 'Huo ', 'Pou ', 'Tan ', 'Ding ', 'Jian ', 'Ju ',
+'Meng ', 'Zi ', 'Qie ', 'Ying ', 'Kai ', 'Qiang ', 'Song ', 'E ', 'Cha ', 
'Qiao ', 'Zhong ', 'Duan ', 'Sou ', 'Huang ', 'Huan ', 'Ai ',
+'Du ', 'Mei ', 'Lou ', 'Zi ', 'Fei ', 'Mei ', 'Mo ', 'Zhen ', 'Bo ', 'Ge ', 
'Nie ', 'Tang ', 'Juan ', 'Nie ', 'Na ', 'Liu ',
+'Hao ', 'Bang ', 'Yi ', 'Jia ', 'Bin ', 'Rong ', 'Biao ', 'Tang ', 'Man ', 
'Luo ', 'Beng ', 'Yong ', 'Jing ', 'Di ', 'Zu ', 'Xuan ',
+'Liu ', 'Tan ', 'Jue ', 'Liao ', 'Pu ', 'Lu ', 'Dui ', 'Lan ', 'Pu ', 'Cuan ', 
'Qiang ', 'Deng ', 'Huo ', 'Lei ', 'Huan ', 'Zhuo ',
+'Lian ', 'Yi ', 'Cha ', 'Biao ', 'La ', 'Chan ', 'Xiang ', 'Chang ', 'Chang ', 
'Jiu ', 'Ao ', 'Die ', 'Qu ', 'Liao ', 'Mi ', 'Chang ',
+'Men ', 'Ma ', 'Shuan ', 'Shan ', 'Huo ', 'Men ', 'Yan ', 'Bi ', 'Han ', 'Bi 
', 'San ', 'Kai ', 'Kang ', 'Beng ', 'Hong ', 'Run ',
+'San ', 'Xian ', 'Xian ', 'Jian ', 'Min ', 'Xia ', 'Yuru ', 'Dou ', 'Zha ', 
'Nao ', 'Jian ', 'Peng ', 'Xia ', 'Ling ', 'Bian ', 'Bi ',
+'Run ', 'He ', 'Guan ', 'Ge ', 'Ge ', 'Fa ', 'Chu ', 'Hong ', 'Gui ', 'Min ', 
'Se ', 'Kun ', 'Lang ', 'Lu ', 'Ting ', 'Sha ',
+'Ju ', 'Yue ', 'Yue ', 'Chan ', 'Qu ', 'Lin ', 'Chang ', 'Shai ', 'Kun ', 'Yan 
', 'Min ', 'Yan ', 'E ', 'Hun ', 'Yu ', 'Wen ',
+'Xiang ', 'Bao ', 'Xiang ', 'Qu ', 'Yao ', 'Wen ', 'Ban ', 'An ', 'Wei ', 'Yin 
', 'Kuo ', 'Que ', 'Lan ', 'Du ', qq{[?] }, 'Phwung ',
+'Tian ', 'Nie ', 'Ta ', 'Kai ', 'He ', 'Que ', 'Chuang ', 'Guan ', 'Dou ', 'Qi 
', 'Kui ', 'Tang ', 'Guan ', 'Piao ', 'Kan ', 'Xi ',
+'Hui ', 'Chan ', 'Pi ', 'Dang ', 'Huan ', 'Ta ', 'Wen ', qq{[?] }, 'Men ', 
'Shuan ', 'Shan ', 'Yan ', 'Han ', 'Bi ', 'Wen ', 'Chuang ',
+'Run ', 'Wei ', 'Xian ', 'Hong ', 'Jian ', 'Min ', 'Kang ', 'Men ', 'Zha ', 
'Nao ', 'Gui ', 'Wen ', 'Ta ', 'Min ', 'Lu ', 'Kai ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x96.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x96.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x96.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x96.pm       12 Oct 2011 
23:51:08 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x96] = [
+'Fa ', 'Ge ', 'He ', 'Kun ', 'Jiu ', 'Yue ', 'Lang ', 'Du ', 'Yu ', 'Yan ', 
'Chang ', 'Xi ', 'Wen ', 'Hun ', 'Yan ', 'E ',
+'Chan ', 'Lan ', 'Qu ', 'Hui ', 'Kuo ', 'Que ', 'Ge ', 'Tian ', 'Ta ', 'Que ', 
'Kan ', 'Huan ', 'Fu ', 'Fu ', 'Le ', 'Dui ',
+'Xin ', 'Qian ', 'Wu ', 'Yi ', 'Tuo ', 'Yin ', 'Yang ', 'Dou ', 'E ', 'Sheng 
', 'Ban ', 'Pei ', 'Keng ', 'Yun ', 'Ruan ', 'Zhi ',
+'Pi ', 'Jing ', 'Fang ', 'Yang ', 'Yin ', 'Zhen ', 'Jie ', 'Cheng ', 'E ', 'Qu 
', 'Di ', 'Zu ', 'Zuo ', 'Dian ', 'Ling ', 'A ',
+'Tuo ', 'Tuo ', 'Po ', 'Bing ', 'Fu ', 'Ji ', 'Lu ', 'Long ', 'Chen ', 'Xing 
', 'Duo ', 'Lou ', 'Mo ', 'Jiang ', 'Shu ', 'Duo ',
+'Xian ', 'Er ', 'Gui ', 'Yu ', 'Gai ', 'Shan ', 'Xun ', 'Qiao ', 'Xing ', 
'Chun ', 'Fu ', 'Bi ', 'Xia ', 'Shan ', 'Sheng ', 'Zhi ',
+'Pu ', 'Dou ', 'Yuan ', 'Zhen ', 'Chu ', 'Xian ', 'Tou ', 'Nie ', 'Yun ', 
'Xian ', 'Pei ', 'Pei ', 'Zou ', 'Yi ', 'Dui ', 'Lun ',
+'Yin ', 'Ju ', 'Chui ', 'Chen ', 'Pi ', 'Ling ', 'Tao ', 'Xian ', 'Lu ', 
'Sheng ', 'Xian ', 'Yin ', 'Zhu ', 'Yang ', 'Reng ', 'Shan ',
+'Chong ', 'Yan ', 'Yin ', 'Yu ', 'Ti ', 'Yu ', 'Long ', 'Wei ', 'Wei ', 'Nie 
', 'Dui ', 'Sui ', 'An ', 'Huang ', 'Jie ', 'Sui ',
+'Yin ', 'Gai ', 'Yan ', 'Hui ', 'Ge ', 'Yun ', 'Wu ', 'Wei ', 'Ai ', 'Xi ', 
'Tang ', 'Ji ', 'Zhang ', 'Dao ', 'Ao ', 'Xi ',
+'Yin ', qq{[?] }, 'Rao ', 'Lin ', 'Tui ', 'Deng ', 'Pi ', 'Sui ', 'Sui ', 'Yu 
', 'Xian ', 'Fen ', 'Ni ', 'Er ', 'Ji ', 'Dao ',
+'Xi ', 'Yin ', 'E ', 'Hui ', 'Long ', 'Xi ', 'Li ', 'Li ', 'Li ', 'Zhui ', 'He 
', 'Zhi ', 'Zhun ', 'Jun ', 'Nan ', 'Yi ',
+'Que ', 'Yan ', 'Qian ', 'Ya ', 'Xiong ', 'Ya ', 'Ji ', 'Gu ', 'Huan ', 'Zhi 
', 'Gou ', 'Jun ', 'Ci ', 'Yong ', 'Ju ', 'Chu ',
+'Hu ', 'Za ', 'Luo ', 'Yu ', 'Chou ', 'Diao ', 'Sui ', 'Han ', 'Huo ', 'Shuang 
', 'Guan ', 'Chu ', 'Za ', 'Yong ', 'Ji ', 'Xi ',
+'Chou ', 'Liu ', 'Li ', 'Nan ', 'Xue ', 'Za ', 'Ji ', 'Ji ', 'Yu ', 'Yu ', 
'Xue ', 'Na ', 'Fou ', 'Se ', 'Mu ', 'Wen ',
+'Fen ', 'Pang ', 'Yun ', 'Li ', 'Li ', 'Ang ', 'Ling ', 'Lei ', 'An ', 'Bao ', 
'Meng ', 'Dian ', 'Dang ', 'Xing ', 'Wu ', 'Zhao ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x97.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x97.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x97.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x97.pm       12 Oct 2011 
23:51:08 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x97] = [
+'Xu ', 'Ji ', 'Mu ', 'Chen ', 'Xiao ', 'Zha ', 'Ting ', 'Zhen ', 'Pei ', 'Mei 
', 'Ling ', 'Qi ', 'Chou ', 'Huo ', 'Sha ', 'Fei ',
+'Weng ', 'Zhan ', 'Yin ', 'Ni ', 'Chou ', 'Tun ', 'Lin ', qq{[?] }, 'Dong ', 
'Ying ', 'Wu ', 'Ling ', 'Shuang ', 'Ling ', 'Xia ', 'Hong ',
+'Yin ', 'Mo ', 'Mai ', 'Yun ', 'Liu ', 'Meng ', 'Bin ', 'Wu ', 'Wei ', 'Huo ', 
'Yin ', 'Xi ', 'Yi ', 'Ai ', 'Dan ', 'Deng ',
+'Xian ', 'Yu ', 'Lu ', 'Long ', 'Dai ', 'Ji ', 'Pang ', 'Yang ', 'Ba ', 'Pi ', 
'Wei ', qq{[?] }, 'Xi ', 'Ji ', 'Mai ', 'Meng ',
+'Meng ', 'Lei ', 'Li ', 'Huo ', 'Ai ', 'Fei ', 'Dai ', 'Long ', 'Ling ', 'Ai 
', 'Feng ', 'Li ', 'Bao ', qq{[?] }, 'He ', 'He ',
+'Bing ', 'Qing ', 'Qing ', 'Jing ', 'Tian ', 'Zhen ', 'Jing ', 'Cheng ', 'Qing 
', 'Jing ', 'Jing ', 'Dian ', 'Jing ', 'Tian ', 'Fei ', 'Fei ',
+'Kao ', 'Mi ', 'Mian ', 'Mian ', 'Pao ', 'Ye ', 'Tian ', 'Hui ', 'Ye ', 'Ge ', 
'Ding ', 'Cha ', 'Jian ', 'Ren ', 'Di ', 'Du ',
+'Wu ', 'Ren ', 'Qin ', 'Jin ', 'Xue ', 'Niu ', 'Ba ', 'Yin ', 'Sa ', 'Na ', 
'Mo ', 'Zu ', 'Da ', 'Ban ', 'Yi ', 'Yao ',
+'Tao ', 'Tuo ', 'Jia ', 'Hong ', 'Pao ', 'Yang ', 'Tomo ', 'Yin ', 'Jia ', 
'Tao ', 'Ji ', 'Xie ', 'An ', 'An ', 'Hen ', 'Gong ',
+'Kohaze ', 'Da ', 'Qiao ', 'Ting ', 'Wan ', 'Ying ', 'Sui ', 'Tiao ', 'Qiao ', 
'Xuan ', 'Kong ', 'Beng ', 'Ta ', 'Zhang ', 'Bing ', 'Kuo ',
+'Ju ', 'La ', 'Xie ', 'Rou ', 'Bang ', 'Yi ', 'Qiu ', 'Qiu ', 'He ', 'Xiao ', 
'Mu ', 'Ju ', 'Jian ', 'Bian ', 'Di ', 'Jian ',
+'On ', 'Tao ', 'Gou ', 'Ta ', 'Bei ', 'Xie ', 'Pan ', 'Ge ', 'Bi ', 'Kuo ', 
'Tang ', 'Lou ', 'Gui ', 'Qiao ', 'Xue ', 'Ji ',
+'Jian ', 'Jiang ', 'Chan ', 'Da ', 'Huo ', 'Xian ', 'Qian ', 'Du ', 'Wa ', 
'Jian ', 'Lan ', 'Wei ', 'Ren ', 'Fu ', 'Mei ', 'Juan ',
+'Ge ', 'Wei ', 'Qiao ', 'Han ', 'Chang ', qq{[?] }, 'Rou ', 'Xun ', 'She ', 
'Wei ', 'Ge ', 'Bei ', 'Tao ', 'Gou ', 'Yun ', qq{[?] },
+'Bi ', 'Wei ', 'Hui ', 'Du ', 'Wa ', 'Du ', 'Wei ', 'Ren ', 'Fu ', 'Han ', 
'Wei ', 'Yun ', 'Tao ', 'Jiu ', 'Jiu ', 'Xian ',
+'Xie ', 'Xian ', 'Ji ', 'Yin ', 'Za ', 'Yun ', 'Shao ', 'Le ', 'Peng ', 'Heng 
', 'Ying ', 'Yun ', 'Peng ', 'Yin ', 'Yin ', 'Xiang ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x98.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x98.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x98.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x98.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x98] = [
+'Hu ', 'Ye ', 'Ding ', 'Qing ', 'Pan ', 'Xiang ', 'Shun ', 'Han ', 'Xu ', 'Yi 
', 'Xu ', 'Gu ', 'Song ', 'Kui ', 'Qi ', 'Hang ',
+'Yu ', 'Wan ', 'Ban ', 'Dun ', 'Di ', 'Dan ', 'Pan ', 'Po ', 'Ling ', 'Ce ', 
'Jing ', 'Lei ', 'He ', 'Qiao ', 'E ', 'E ',
+'Wei ', 'Jie ', 'Gua ', 'Shen ', 'Yi ', 'Shen ', 'Hai ', 'Dui ', 'Pian ', 
'Ping ', 'Lei ', 'Fu ', 'Jia ', 'Tou ', 'Hui ', 'Kui ',
+'Jia ', 'Le ', 'Tian ', 'Cheng ', 'Ying ', 'Jun ', 'Hu ', 'Han ', 'Jing ', 
'Tui ', 'Tui ', 'Pin ', 'Lai ', 'Tui ', 'Zi ', 'Zi ',
+'Chui ', 'Ding ', 'Lai ', 'Yan ', 'Han ', 'Jian ', 'Ke ', 'Cui ', 'Jiong ', 
'Qin ', 'Yi ', 'Sai ', 'Ti ', 'E ', 'E ', 'Yan ',
+'Hun ', 'Kan ', 'Yong ', 'Zhuan ', 'Yan ', 'Xian ', 'Xin ', 'Yi ', 'Yuan ', 
'Sang ', 'Dian ', 'Dian ', 'Jiang ', 'Ku ', 'Lei ', 'Liao ',
+'Piao ', 'Yi ', 'Man ', 'Qi ', 'Rao ', 'Hao ', 'Qiao ', 'Gu ', 'Xun ', 'Qian 
', 'Hui ', 'Zhan ', 'Ru ', 'Hong ', 'Bin ', 'Xian ',
+'Pin ', 'Lu ', 'Lan ', 'Nie ', 'Quan ', 'Ye ', 'Ding ', 'Qing ', 'Han ', 
'Xiang ', 'Shun ', 'Xu ', 'Xu ', 'Wan ', 'Gu ', 'Dun ',
+'Qi ', 'Ban ', 'Song ', 'Hang ', 'Yu ', 'Lu ', 'Ling ', 'Po ', 'Jing ', 'Jie 
', 'Jia ', 'Tian ', 'Han ', 'Ying ', 'Jiong ', 'Hai ',
+'Yi ', 'Pin ', 'Hui ', 'Tui ', 'Han ', 'Ying ', 'Ying ', 'Ke ', 'Ti ', 'Yong 
', 'E ', 'Zhuan ', 'Yan ', 'E ', 'Nie ', 'Man ',
+'Dian ', 'Sang ', 'Hao ', 'Lei ', 'Zhan ', 'Ru ', 'Pin ', 'Quan ', 'Feng ', 
'Biao ', 'Oroshi ', 'Fu ', 'Xia ', 'Zhan ', 'Biao ', 'Sa ',
+'Ba ', 'Tai ', 'Lie ', 'Gua ', 'Xuan ', 'Shao ', 'Ju ', 'Bi ', 'Si ', 'Wei ', 
'Yang ', 'Yao ', 'Sou ', 'Kai ', 'Sao ', 'Fan ',
+'Liu ', 'Xi ', 'Liao ', 'Piao ', 'Piao ', 'Liu ', 'Biao ', 'Biao ', 'Biao ', 
'Liao ', qq{[?] }, 'Se ', 'Feng ', 'Biao ', 'Feng ', 'Yang ',
+'Zhan ', 'Biao ', 'Sa ', 'Ju ', 'Si ', 'Sou ', 'Yao ', 'Liu ', 'Piao ', 'Biao 
', 'Biao ', 'Fei ', 'Fan ', 'Fei ', 'Fei ', 'Shi ',
+'Shi ', 'Can ', 'Ji ', 'Ding ', 'Si ', 'Tuo ', 'Zhan ', 'Sun ', 'Xiang ', 'Tun 
', 'Ren ', 'Yu ', 'Juan ', 'Chi ', 'Yin ', 'Fan ',
+'Fan ', 'Sun ', 'Yin ', 'Zhu ', 'Yi ', 'Zhai ', 'Bi ', 'Jie ', 'Tao ', 'Liu ', 
'Ci ', 'Tie ', 'Si ', 'Bao ', 'Shi ', 'Duo ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x99.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x99.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x99.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x99.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x99] = [
+'Hai ', 'Ren ', 'Tian ', 'Jiao ', 'Jia ', 'Bing ', 'Yao ', 'Tong ', 'Ci ', 
'Xiang ', 'Yang ', 'Yang ', 'Er ', 'Yan ', 'Le ', 'Yi ',
+'Can ', 'Bo ', 'Nei ', 'E ', 'Bu ', 'Jun ', 'Dou ', 'Su ', 'Yu ', 'Shi ', 'Yao 
', 'Hun ', 'Guo ', 'Shi ', 'Jian ', 'Zhui ',
+'Bing ', 'Xian ', 'Bu ', 'Ye ', 'Tan ', 'Fei ', 'Zhang ', 'Wei ', 'Guan ', 'E 
', 'Nuan ', 'Hun ', 'Hu ', 'Huang ', 'Tie ', 'Hui ',
+'Jian ', 'Hou ', 'He ', 'Xing ', 'Fen ', 'Wei ', 'Gu ', 'Cha ', 'Song ', 'Tang 
', 'Bo ', 'Gao ', 'Xi ', 'Kui ', 'Liu ', 'Sou ',
+'Tao ', 'Ye ', 'Yun ', 'Mo ', 'Tang ', 'Man ', 'Bi ', 'Yu ', 'Xiu ', 'Jin ', 
'San ', 'Kui ', 'Zhuan ', 'Shan ', 'Chi ', 'Dan ',
+'Yi ', 'Ji ', 'Rao ', 'Cheng ', 'Yong ', 'Tao ', 'Hui ', 'Xiang ', 'Zhan ', 
'Fen ', 'Hai ', 'Meng ', 'Yan ', 'Mo ', 'Chan ', 'Xiang ',
+'Luo ', 'Zuan ', 'Nang ', 'Shi ', 'Ding ', 'Ji ', 'Tuo ', 'Xing ', 'Tun ', 'Xi 
', 'Ren ', 'Yu ', 'Chi ', 'Fan ', 'Yin ', 'Jian ',
+'Shi ', 'Bao ', 'Si ', 'Duo ', 'Yi ', 'Er ', 'Rao ', 'Xiang ', 'Jia ', 'Le ', 
'Jiao ', 'Yi ', 'Bing ', 'Bo ', 'Dou ', 'E ',
+'Yu ', 'Nei ', 'Jun ', 'Guo ', 'Hun ', 'Xian ', 'Guan ', 'Cha ', 'Kui ', 'Gu 
', 'Sou ', 'Chan ', 'Ye ', 'Mo ', 'Bo ', 'Liu ',
+'Xiu ', 'Jin ', 'Man ', 'San ', 'Zhuan ', 'Nang ', 'Shou ', 'Kui ', 'Guo ', 
'Xiang ', 'Fen ', 'Ba ', 'Ni ', 'Bi ', 'Bo ', 'Tu ',
+'Han ', 'Fei ', 'Jian ', 'An ', 'Ai ', 'Fu ', 'Xian ', 'Wen ', 'Xin ', 'Fen ', 
'Bin ', 'Xing ', 'Ma ', 'Yu ', 'Feng ', 'Han ',
+'Di ', 'Tuo ', 'Tuo ', 'Chi ', 'Xun ', 'Zhu ', 'Zhi ', 'Pei ', 'Xin ', 'Ri ', 
'Sa ', 'Yin ', 'Wen ', 'Zhi ', 'Dan ', 'Lu ',
+'You ', 'Bo ', 'Bao ', 'Kuai ', 'Tuo ', 'Yi ', 'Qu ', qq{[?] }, 'Qu ', 'Jiong 
', 'Bo ', 'Zhao ', 'Yuan ', 'Peng ', 'Zhou ', 'Ju ',
+'Zhu ', 'Nu ', 'Ju ', 'Pi ', 'Zang ', 'Jia ', 'Ling ', 'Zhen ', 'Tai ', 'Fu ', 
'Yang ', 'Shi ', 'Bi ', 'Tuo ', 'Tuo ', 'Si ',
+'Liu ', 'Ma ', 'Pian ', 'Tao ', 'Zhi ', 'Rong ', 'Teng ', 'Dong ', 'Xun ', 
'Quan ', 'Shen ', 'Jiong ', 'Er ', 'Hai ', 'Bo ', 'Zhu ',
+'Yin ', 'Luo ', 'Shuu ', 'Dan ', 'Xie ', 'Liu ', 'Ju ', 'Song ', 'Qin ', 'Mang 
', 'Liang ', 'Han ', 'Tu ', 'Xuan ', 'Tui ', 'Jun ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9a.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9a.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9a.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9a.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:35 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x9a] = [
+'E ', 'Cheng ', 'Xin ', 'Ai ', 'Lu ', 'Zhui ', 'Zhou ', 'She ', 'Pian ', 'Kun 
', 'Tao ', 'Lai ', 'Zong ', 'Ke ', 'Qi ', 'Qi ',
+'Yan ', 'Fei ', 'Sao ', 'Yan ', 'Jie ', 'Yao ', 'Wu ', 'Pian ', 'Cong ', 'Pian 
', 'Qian ', 'Fei ', 'Huang ', 'Jian ', 'Huo ', 'Yu ',
+'Ti ', 'Quan ', 'Xia ', 'Zong ', 'Kui ', 'Rou ', 'Si ', 'Gua ', 'Tuo ', 'Kui 
', 'Sou ', 'Qian ', 'Cheng ', 'Zhi ', 'Liu ', 'Pang ',
+'Teng ', 'Xi ', 'Cao ', 'Du ', 'Yan ', 'Yuan ', 'Zou ', 'Sao ', 'Shan ', 'Li 
', 'Zhi ', 'Shuang ', 'Lu ', 'Xi ', 'Luo ', 'Zhang ',
+'Mo ', 'Ao ', 'Can ', 'Piao ', 'Cong ', 'Qu ', 'Bi ', 'Zhi ', 'Yu ', 'Xu ', 
'Hua ', 'Bo ', 'Su ', 'Xiao ', 'Lin ', 'Chan ',
+'Dun ', 'Liu ', 'Tuo ', 'Zeng ', 'Tan ', 'Jiao ', 'Tie ', 'Yan ', 'Luo ', 
'Zhan ', 'Jing ', 'Yi ', 'Ye ', 'Tuo ', 'Bin ', 'Zou ',
+'Yan ', 'Peng ', 'Lu ', 'Teng ', 'Xiang ', 'Ji ', 'Shuang ', 'Ju ', 'Xi ', 
'Huan ', 'Li ', 'Biao ', 'Ma ', 'Yu ', 'Tuo ', 'Xun ',
+'Chi ', 'Qu ', 'Ri ', 'Bo ', 'Lu ', 'Zang ', 'Shi ', 'Si ', 'Fu ', 'Ju ', 'Zou 
', 'Zhu ', 'Tuo ', 'Nu ', 'Jia ', 'Yi ',
+'Tai ', 'Xiao ', 'Ma ', 'Yin ', 'Jiao ', 'Hua ', 'Luo ', 'Hai ', 'Pian ', 
'Biao ', 'Li ', 'Cheng ', 'Yan ', 'Xin ', 'Qin ', 'Jun ',
+'Qi ', 'Qi ', 'Ke ', 'Zhui ', 'Zong ', 'Su ', 'Can ', 'Pian ', 'Zhi ', 'Kui ', 
'Sao ', 'Wu ', 'Ao ', 'Liu ', 'Qian ', 'Shan ',
+'Piao ', 'Luo ', 'Cong ', 'Chan ', 'Zou ', 'Ji ', 'Shuang ', 'Xiang ', 'Gu ', 
'Wei ', 'Wei ', 'Wei ', 'Yu ', 'Gan ', 'Yi ', 'Ang ',
+'Tou ', 'Xie ', 'Bao ', 'Bi ', 'Chi ', 'Ti ', 'Di ', 'Ku ', 'Hai ', 'Qiao ', 
'Gou ', 'Kua ', 'Ge ', 'Tui ', 'Geng ', 'Pian ',
+'Bi ', 'Ke ', 'Ka ', 'Yu ', 'Sui ', 'Lou ', 'Bo ', 'Xiao ', 'Pang ', 'Bo ', 
'Ci ', 'Kuan ', 'Bin ', 'Mo ', 'Liao ', 'Lou ',
+'Nao ', 'Du ', 'Zang ', 'Sui ', 'Ti ', 'Bin ', 'Kuan ', 'Lu ', 'Gao ', 'Gao ', 
'Qiao ', 'Kao ', 'Qiao ', 'Lao ', 'Zao ', 'Biao ',
+'Kun ', 'Kun ', 'Ti ', 'Fang ', 'Xiu ', 'Ran ', 'Mao ', 'Dan ', 'Kun ', 'Bin 
', 'Fa ', 'Tiao ', 'Peng ', 'Zi ', 'Fa ', 'Ran ',
+'Ti ', 'Pao ', 'Pi ', 'Mao ', 'Fu ', 'Er ', 'Rong ', 'Qu ', 'Gong ', 'Xiu ', 
'Gua ', 'Ji ', 'Peng ', 'Zhua ', 'Shao ', 'Sha ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9b.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9b.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9b.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9b.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x9b] = [
+'Ti ', 'Li ', 'Bin ', 'Zong ', 'Ti ', 'Peng ', 'Song ', 'Zheng ', 'Quan ', 
'Zong ', 'Shun ', 'Jian ', 'Duo ', 'Hu ', 'La ', 'Jiu ',
+'Qi ', 'Lian ', 'Zhen ', 'Bin ', 'Peng ', 'Mo ', 'San ', 'Man ', 'Man ', 'Seng 
', 'Xu ', 'Lie ', 'Qian ', 'Qian ', 'Nong ', 'Huan ',
+'Kuai ', 'Ning ', 'Bin ', 'Lie ', 'Rang ', 'Dou ', 'Dou ', 'Nao ', 'Hong ', 
'Xi ', 'Dou ', 'Han ', 'Dou ', 'Dou ', 'Jiu ', 'Chang ',
+'Yu ', 'Yu ', 'Li ', 'Juan ', 'Fu ', 'Qian ', 'Gui ', 'Zong ', 'Liu ', 'Gui ', 
'Shang ', 'Yu ', 'Gui ', 'Mei ', 'Ji ', 'Qi ',
+'Jie ', 'Kui ', 'Hun ', 'Ba ', 'Po ', 'Mei ', 'Xu ', 'Yan ', 'Xiao ', 'Liang 
', 'Yu ', 'Tui ', 'Qi ', 'Wang ', 'Liang ', 'Wei ',
+'Jian ', 'Chi ', 'Piao ', 'Bi ', 'Mo ', 'Ji ', 'Xu ', 'Chou ', 'Yan ', 'Zhan 
', 'Yu ', 'Dao ', 'Ren ', 'Ji ', 'Eri ', 'Gong ',
+'Tuo ', 'Diao ', 'Ji ', 'Xu ', 'E ', 'E ', 'Sha ', 'Hang ', 'Tun ', 'Mo ', 
'Jie ', 'Shen ', 'Fan ', 'Yuan ', 'Bi ', 'Lu ',
+'Wen ', 'Hu ', 'Lu ', 'Za ', 'Fang ', 'Fen ', 'Na ', 'You ', 'Namazu ', 'Todo 
', 'He ', 'Xia ', 'Qu ', 'Han ', 'Pi ', 'Ling ',
+'Tuo ', 'Bo ', 'Qiu ', 'Ping ', 'Fu ', 'Bi ', 'Ji ', 'Wei ', 'Ju ', 'Diao ', 
'Bo ', 'You ', 'Gun ', 'Pi ', 'Nian ', 'Xing ',
+'Tai ', 'Bao ', 'Fu ', 'Zha ', 'Ju ', 'Gu ', 'Kajika ', 'Tong ', qq{[?] }, 'Ta 
', 'Jie ', 'Shu ', 'Hou ', 'Xiang ', 'Er ', 'An ',
+'Wei ', 'Tiao ', 'Zhu ', 'Yin ', 'Lie ', 'Luo ', 'Tong ', 'Yi ', 'Qi ', 'Bing 
', 'Wei ', 'Jiao ', 'Bu ', 'Gui ', 'Xian ', 'Ge ',
+'Hui ', 'Bora ', 'Mate ', 'Kao ', 'Gori ', 'Duo ', 'Jun ', 'Ti ', 'Man ', 
'Xiao ', 'Za ', 'Sha ', 'Qin ', 'Yu ', 'Nei ', 'Zhe ',
+'Gun ', 'Geng ', 'Su ', 'Wu ', 'Qiu ', 'Ting ', 'Fu ', 'Wan ', 'You ', 'Li ', 
'Sha ', 'Sha ', 'Gao ', 'Meng ', 'Ugui ', 'Asari ',
+'Subashiri ', 'Kazunoko ', 'Yong ', 'Ni ', 'Zi ', 'Qi ', 'Qing ', 'Xiang ', 
'Nei ', 'Chun ', 'Ji ', 'Diao ', 'Qie ', 'Gu ', 'Zhou ', 'Dong ',
+'Lai ', 'Fei ', 'Ni ', 'Yi ', 'Kun ', 'Lu ', 'Jiu ', 'Chang ', 'Jing ', 'Lun 
', 'Ling ', 'Zou ', 'Li ', 'Meng ', 'Zong ', 'Zhi ',
+'Nian ', 'Shachi ', 'Dojou ', 'Sukesou ', 'Shi ', 'Shen ', 'Hun ', 'Shi ', 
'Hou ', 'Xing ', 'Zhu ', 'La ', 'Zong ', 'Ji ', 'Bian ', 'Bian ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9c.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9c.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9c.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9c.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x9c] = [
+'Huan ', 'Quan ', 'Ze ', 'Wei ', 'Wei ', 'Yu ', 'Qun ', 'Rou ', 'Die ', 'Huang 
', 'Lian ', 'Yan ', 'Qiu ', 'Qiu ', 'Jian ', 'Bi ',
+'E ', 'Yang ', 'Fu ', 'Sai ', 'Jian ', 'Xia ', 'Tuo ', 'Hu ', 'Muroaji ', 'Ruo 
', 'Haraka ', 'Wen ', 'Jian ', 'Hao ', 'Wu ', 'Fang ',
+'Sao ', 'Liu ', 'Ma ', 'Shi ', 'Shi ', 'Yin ', 'Z ', 'Teng ', 'Ta ', 'Yao ', 
'Ge ', 'Rong ', 'Qian ', 'Qi ', 'Wen ', 'Ruo ',
+'Hatahata ', 'Lian ', 'Ao ', 'Le ', 'Hui ', 'Min ', 'Ji ', 'Tiao ', 'Qu ', 
'Jian ', 'Sao ', 'Man ', 'Xi ', 'Qiu ', 'Biao ', 'Ji ',
+'Ji ', 'Zhu ', 'Jiang ', 'Qiu ', 'Zhuan ', 'Yong ', 'Zhang ', 'Kang ', 'Xue ', 
'Bie ', 'Jue ', 'Qu ', 'Xiang ', 'Bo ', 'Jiao ', 'Xun ',
+'Su ', 'Huang ', 'Zun ', 'Shan ', 'Shan ', 'Fan ', 'Jue ', 'Lin ', 'Xun ', 
'Miao ', 'Xi ', 'Eso ', 'Kyou ', 'Fen ', 'Guan ', 'Hou ',
+'Kuai ', 'Zei ', 'Sao ', 'Zhan ', 'Gan ', 'Gui ', 'Sheng ', 'Li ', 'Chang ', 
'Hatahata ', 'Shiira ', 'Mutsu ', 'Ru ', 'Ji ', 'Xu ', 'Huo ',
+'Shiira ', 'Li ', 'Lie ', 'Li ', 'Mie ', 'Zhen ', 'Xiang ', 'E ', 'Lu ', 'Guan 
', 'Li ', 'Xian ', 'Yu ', 'Dao ', 'Ji ', 'You ',
+'Tun ', 'Lu ', 'Fang ', 'Ba ', 'He ', 'Bo ', 'Ping ', 'Nian ', 'Lu ', 'You ', 
'Zha ', 'Fu ', 'Bo ', 'Bao ', 'Hou ', 'Pi ',
+'Tai ', 'Gui ', 'Jie ', 'Kao ', 'Wei ', 'Er ', 'Tong ', 'Ze ', 'Hou ', 'Kuai 
', 'Ji ', 'Jiao ', 'Xian ', 'Za ', 'Xiang ', 'Xun ',
+'Geng ', 'Li ', 'Lian ', 'Jian ', 'Li ', 'Shi ', 'Tiao ', 'Gun ', 'Sha ', 'Wan 
', 'Jun ', 'Ji ', 'Yong ', 'Qing ', 'Ling ', 'Qi ',
+'Zou ', 'Fei ', 'Kun ', 'Chang ', 'Gu ', 'Ni ', 'Nian ', 'Diao ', 'Jing ', 
'Shen ', 'Shi ', 'Zi ', 'Fen ', 'Die ', 'Bi ', 'Chang ',
+'Shi ', 'Wen ', 'Wei ', 'Sai ', 'E ', 'Qiu ', 'Fu ', 'Huang ', 'Quan ', 'Jiang 
', 'Bian ', 'Sao ', 'Ao ', 'Qi ', 'Ta ', 'Yin ',
+'Yao ', 'Fang ', 'Jian ', 'Le ', 'Biao ', 'Xue ', 'Bie ', 'Man ', 'Min ', 
'Yong ', 'Wei ', 'Xi ', 'Jue ', 'Shan ', 'Lin ', 'Zun ',
+'Huo ', 'Gan ', 'Li ', 'Zhan ', 'Guan ', 'Niao ', 'Yi ', 'Fu ', 'Li ', 'Jiu ', 
'Bu ', 'Yan ', 'Fu ', 'Diao ', 'Ji ', 'Feng ',
+'Nio ', 'Gan ', 'Shi ', 'Feng ', 'Ming ', 'Bao ', 'Yuan ', 'Zhi ', 'Hu ', 'Qin 
', 'Fu ', 'Fen ', 'Wen ', 'Jian ', 'Shi ', 'Yu ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9d.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9d.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9d.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9d.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x9d] = [
+'Fou ', 'Yiao ', 'Jue ', 'Jue ', 'Pi ', 'Huan ', 'Zhen ', 'Bao ', 'Yan ', 'Ya 
', 'Zheng ', 'Fang ', 'Feng ', 'Wen ', 'Ou ', 'Te ',
+'Jia ', 'Nu ', 'Ling ', 'Mie ', 'Fu ', 'Tuo ', 'Wen ', 'Li ', 'Bian ', 'Zhi ', 
'Ge ', 'Yuan ', 'Zi ', 'Qu ', 'Xiao ', 'Zhi ',
+'Dan ', 'Ju ', 'You ', 'Gu ', 'Zhong ', 'Yu ', 'Yang ', 'Rong ', 'Ya ', 'Tie 
', 'Yu ', 'Shigi ', 'Ying ', 'Zhui ', 'Wu ', 'Er ',
+'Gua ', 'Ai ', 'Zhi ', 'Yan ', 'Heng ', 'Jiao ', 'Ji ', 'Lie ', 'Zhu ', 'Ren 
', 'Yi ', 'Hong ', 'Luo ', 'Ru ', 'Mou ', 'Ge ',
+'Ren ', 'Jiao ', 'Xiu ', 'Zhou ', 'Zhi ', 'Luo ', 'Chidori ', 'Toki ', 'Ten ', 
'Luan ', 'Jia ', 'Ji ', 'Yu ', 'Huan ', 'Tuo ', 'Bu ',
+'Wu ', 'Juan ', 'Yu ', 'Bo ', 'Xun ', 'Xun ', 'Bi ', 'Xi ', 'Jun ', 'Ju ', 'Tu 
', 'Jing ', 'Ti ', 'E ', 'E ', 'Kuang ',
+'Hu ', 'Wu ', 'Shen ', 'Lai ', 'Ikaruga ', 'Kakesu ', 'Lu ', 'Ping ', 'Shu ', 
'Fu ', 'An ', 'Zhao ', 'Peng ', 'Qin ', 'Qian ', 'Bei ',
+'Diao ', 'Lu ', 'Que ', 'Jian ', 'Ju ', 'Tu ', 'Ya ', 'Yuan ', 'Qi ', 'Li ', 
'Ye ', 'Zhui ', 'Kong ', 'Zhui ', 'Kun ', 'Sheng ',
+'Qi ', 'Jing ', 'Yi ', 'Yi ', 'Jing ', 'Zi ', 'Lai ', 'Dong ', 'Qi ', 'Chun ', 
'Geng ', 'Ju ', 'Qu ', 'Isuka ', 'Kikuitadaki ', 'Ji ',
+'Shu ', qq{[?] }, 'Chi ', 'Miao ', 'Rou ', 'An ', 'Qiu ', 'Ti ', 'Hu ', 'Ti ', 
'E ', 'Jie ', 'Mao ', 'Fu ', 'Chun ', 'Tu ',
+'Yan ', 'He ', 'Yuan ', 'Pian ', 'Yun ', 'Mei ', 'Hu ', 'Ying ', 'Dun ', 'Mu 
', 'Ju ', 'Tsugumi ', 'Cang ', 'Fang ', 'Gu ', 'Ying ',
+'Yuan ', 'Xuan ', 'Weng ', 'Shi ', 'He ', 'Chu ', 'Tang ', 'Xia ', 'Ruo ', 
'Liu ', 'Ji ', 'Gu ', 'Jian ', 'Zhun ', 'Han ', 'Zi ',
+'Zi ', 'Ni ', 'Yao ', 'Yan ', 'Ji ', 'Li ', 'Tian ', 'Kou ', 'Ti ', 'Ti ', 'Ni 
', 'Tu ', 'Ma ', 'Jiao ', 'Gao ', 'Tian ',
+'Chen ', 'Li ', 'Zhuan ', 'Zhe ', 'Ao ', 'Yao ', 'Yi ', 'Ou ', 'Chi ', 'Zhi ', 
'Liao ', 'Rong ', 'Lou ', 'Bi ', 'Shuang ', 'Zhuo ',
+'Yu ', 'Wu ', 'Jue ', 'Yin ', 'Quan ', 'Si ', 'Jiao ', 'Yi ', 'Hua ', 'Bi ', 
'Ying ', 'Su ', 'Huang ', 'Fan ', 'Jiao ', 'Liao ',
+'Yan ', 'Kao ', 'Jiu ', 'Xian ', 'Xian ', 'Tu ', 'Mai ', 'Zun ', 'Yu ', 'Ying 
', 'Lu ', 'Tuan ', 'Xian ', 'Xue ', 'Yi ', 'Pi ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9e.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9e.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9e.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9e.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x9e] = [
+'Shu ', 'Luo ', 'Qi ', 'Yi ', 'Ji ', 'Zhe ', 'Yu ', 'Zhan ', 'Ye ', 'Yang ', 
'Pi ', 'Ning ', 'Huo ', 'Mi ', 'Ying ', 'Meng ',
+'Di ', 'Yue ', 'Yu ', 'Lei ', 'Bao ', 'Lu ', 'He ', 'Long ', 'Shuang ', 'Yue 
', 'Ying ', 'Guan ', 'Qu ', 'Li ', 'Luan ', 'Niao ',
+'Jiu ', 'Ji ', 'Yuan ', 'Ming ', 'Shi ', 'Ou ', 'Ya ', 'Cang ', 'Bao ', 'Zhen 
', 'Gu ', 'Dong ', 'Lu ', 'Ya ', 'Xiao ', 'Yang ',
+'Ling ', 'Zhi ', 'Qu ', 'Yuan ', 'Xue ', 'Tuo ', 'Si ', 'Zhi ', 'Er ', 'Gua ', 
'Xiu ', 'Heng ', 'Zhou ', 'Ge ', 'Luan ', 'Hong ',
+'Wu ', 'Bo ', 'Li ', 'Juan ', 'Hu ', 'E ', 'Yu ', 'Xian ', 'Ti ', 'Wu ', 'Que 
', 'Miao ', 'An ', 'Kun ', 'Bei ', 'Peng ',
+'Qian ', 'Chun ', 'Geng ', 'Yuan ', 'Su ', 'Hu ', 'He ', 'E ', 'Gu ', 'Qiu ', 
'Zi ', 'Mei ', 'Mu ', 'Ni ', 'Yao ', 'Weng ',
+'Liu ', 'Ji ', 'Ni ', 'Jian ', 'He ', 'Yi ', 'Ying ', 'Zhe ', 'Liao ', 'Liao 
', 'Jiao ', 'Jiu ', 'Yu ', 'Lu ', 'Xuan ', 'Zhan ',
+'Ying ', 'Huo ', 'Meng ', 'Guan ', 'Shuang ', 'Lu ', 'Jin ', 'Ling ', 'Jian ', 
'Xian ', 'Cuo ', 'Jian ', 'Jian ', 'Yan ', 'Cuo ', 'Lu ',
+'You ', 'Cu ', 'Ji ', 'Biao ', 'Cu ', 'Biao ', 'Zhu ', 'Jun ', 'Zhu ', 'Jian 
', 'Mi ', 'Mi ', 'Wu ', 'Liu ', 'Chen ', 'Jun ',
+'Lin ', 'Ni ', 'Qi ', 'Lu ', 'Jiu ', 'Jun ', 'Jing ', 'Li ', 'Xiang ', 'Yan ', 
'Jia ', 'Mi ', 'Li ', 'She ', 'Zhang ', 'Lin ',
+'Jing ', 'Ji ', 'Ling ', 'Yan ', 'Cu ', 'Mai ', 'Mai ', 'Ge ', 'Chao ', 'Fu ', 
'Mian ', 'Mian ', 'Fu ', 'Pao ', 'Qu ', 'Qu ',
+'Mou ', 'Fu ', 'Xian ', 'Lai ', 'Qu ', 'Mian ', qq{[?] }, 'Feng ', 'Fu ', 'Qu 
', 'Mian ', 'Ma ', 'Mo ', 'Mo ', 'Hui ', 'Ma ',
+'Zou ', 'Nen ', 'Fen ', 'Huang ', 'Huang ', 'Jin ', 'Guang ', 'Tian ', 'Tou ', 
'Heng ', 'Xi ', 'Kuang ', 'Heng ', 'Shu ', 'Li ', 'Nian ',
+'Chi ', 'Hei ', 'Hei ', 'Yi ', 'Qian ', 'Dan ', 'Xi ', 'Tuan ', 'Mo ', 'Mo ', 
'Qian ', 'Dai ', 'Chu ', 'You ', 'Dian ', 'Yi ',
+'Xia ', 'Yan ', 'Qu ', 'Mei ', 'Yan ', 'Jing ', 'Yu ', 'Li ', 'Dang ', 'Du ', 
'Can ', 'Yin ', 'An ', 'Yan ', 'Tan ', 'An ',
+'Zhen ', 'Dai ', 'Can ', 'Yi ', 'Mei ', 'Dan ', 'Yan ', 'Du ', 'Lu ', 'Zhi ', 
'Fen ', 'Fu ', 'Fu ', 'Min ', 'Min ', 'Yuan ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9f.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9f.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9f.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/x9f.pm       12 Oct 2011 
23:51:09 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0x9f] = [
+'Cu ', 'Qu ', 'Chao ', 'Wa ', 'Zhu ', 'Zhi ', 'Mang ', 'Ao ', 'Bie ', 'Tuo ', 
'Bi ', 'Yuan ', 'Chao ', 'Tuo ', 'Ding ', 'Mi ',
+'Nai ', 'Ding ', 'Zi ', 'Gu ', 'Gu ', 'Dong ', 'Fen ', 'Tao ', 'Yuan ', 'Pi ', 
'Chang ', 'Gao ', 'Qi ', 'Yuan ', 'Tang ', 'Teng ',
+'Shu ', 'Shu ', 'Fen ', 'Fei ', 'Wen ', 'Ba ', 'Diao ', 'Tuo ', 'Tong ', 'Qu 
', 'Sheng ', 'Shi ', 'You ', 'Shi ', 'Ting ', 'Wu ',
+'Nian ', 'Jing ', 'Hun ', 'Ju ', 'Yan ', 'Tu ', 'Ti ', 'Xi ', 'Xian ', 'Yan ', 
'Lei ', 'Bi ', 'Yao ', 'Qiu ', 'Han ', 'Wu ',
+'Wu ', 'Hou ', 'Xi ', 'Ge ', 'Zha ', 'Xiu ', 'Weng ', 'Zha ', 'Nong ', 'Nang 
', 'Qi ', 'Zhai ', 'Ji ', 'Zi ', 'Ji ', 'Ji ',
+'Qi ', 'Ji ', 'Chi ', 'Chen ', 'Chen ', 'He ', 'Ya ', 'Ken ', 'Xie ', 'Pao ', 
'Cuo ', 'Shi ', 'Zi ', 'Chi ', 'Nian ', 'Ju ',
+'Tiao ', 'Ling ', 'Ling ', 'Chu ', 'Quan ', 'Xie ', 'Ken ', 'Nie ', 'Jiu ', 
'Yao ', 'Chuo ', 'Kun ', 'Yu ', 'Chu ', 'Yi ', 'Ni ',
+'Cuo ', 'Zou ', 'Qu ', 'Nen ', 'Xian ', 'Ou ', 'E ', 'Wo ', 'Yi ', 'Chuo ', 
'Zou ', 'Dian ', 'Chu ', 'Jin ', 'Ya ', 'Chi ',
+'Chen ', 'He ', 'Ken ', 'Ju ', 'Ling ', 'Pao ', 'Tiao ', 'Zi ', 'Ken ', 'Yu ', 
'Chuo ', 'Qu ', 'Wo ', 'Long ', 'Pang ', 'Gong ',
+'Pang ', 'Yan ', 'Long ', 'Long ', 'Gong ', 'Kan ', 'Ta ', 'Ling ', 'Ta ', 
'Long ', 'Gong ', 'Kan ', 'Gui ', 'Qiu ', 'Bie ', 'Gui ',
+'Yue ', 'Chui ', 'He ', 'Jue ', 'Xie ', 'Yu ', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa0.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa0.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa0.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa0.pm       12 Oct 2011 
23:51:10 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xa0] = [
+'it', 'ix', 'i', 'ip', 'iet', 'iex', 'ie', 'iep', 'at', 'ax', 'a', 'ap', 
'uox', 'uo', 'uop', 'ot',
+'ox', 'o', 'op', 'ex', 'e', 'wu', 'bit', 'bix', 'bi', 'bip', 'biet', 'biex', 
'bie', 'biep', 'bat', 'bax',
+'ba', 'bap', 'buox', 'buo', 'buop', 'bot', 'box', 'bo', 'bop', 'bex', 'be', 
'bep', 'but', 'bux', 'bu', 'bup',
+'burx', 'bur', 'byt', 'byx', 'by', 'byp', 'byrx', 'byr', 'pit', 'pix', 'pi', 
'pip', 'piex', 'pie', 'piep', 'pat',
+'pax', 'pa', 'pap', 'puox', 'puo', 'puop', 'pot', 'pox', 'po', 'pop', 'put', 
'pux', 'pu', 'pup', 'purx', 'pur',
+'pyt', 'pyx', 'py', 'pyp', 'pyrx', 'pyr', 'bbit', 'bbix', 'bbi', 'bbip', 
'bbiet', 'bbiex', 'bbie', 'bbiep', 'bbat', 'bbax',
+'bba', 'bbap', 'bbuox', 'bbuo', 'bbuop', 'bbot', 'bbox', 'bbo', 'bbop', 
'bbex', 'bbe', 'bbep', 'bbut', 'bbux', 'bbu', 'bbup',
+'bburx', 'bbur', 'bbyt', 'bbyx', 'bby', 'bbyp', 'nbit', 'nbix', 'nbi', 'nbip', 
'nbiex', 'nbie', 'nbiep', 'nbat', 'nbax', 'nba',
+'nbap', 'nbot', 'nbox', 'nbo', 'nbop', 'nbut', 'nbux', 'nbu', 'nbup', 'nburx', 
'nbur', 'nbyt', 'nbyx', 'nby', 'nbyp', 'nbyrx',
+'nbyr', 'hmit', 'hmix', 'hmi', 'hmip', 'hmiex', 'hmie', 'hmiep', 'hmat', 
'hmax', 'hma', 'hmap', 'hmuox', 'hmuo', 'hmuop', 'hmot',
+'hmox', 'hmo', 'hmop', 'hmut', 'hmux', 'hmu', 'hmup', 'hmurx', 'hmur', 'hmyx', 
'hmy', 'hmyp', 'hmyrx', 'hmyr', 'mit', 'mix',
+'mi', 'mip', 'miex', 'mie', 'miep', 'mat', 'max', 'ma', 'map', 'muot', 'muox', 
'muo', 'muop', 'mot', 'mox', 'mo',
+'mop', 'mex', 'me', 'mut', 'mux', 'mu', 'mup', 'murx', 'mur', 'myt', 'myx', 
'my', 'myp', 'fit', 'fix', 'fi',
+'fip', 'fat', 'fax', 'fa', 'fap', 'fox', 'fo', 'fop', 'fut', 'fux', 'fu', 
'fup', 'furx', 'fur', 'fyt', 'fyx',
+'fy', 'fyp', 'vit', 'vix', 'vi', 'vip', 'viet', 'viex', 'vie', 'viep', 'vat', 
'vax', 'va', 'vap', 'vot', 'vox',
+'vo', 'vop', 'vex', 'vep', 'vut', 'vux', 'vu', 'vup', 'vurx', 'vur', 'vyt', 
'vyx', 'vy', 'vyp', 'vyrx', 'vyr',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa1.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa1.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa1.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa1.pm       12 Oct 2011 
23:51:10 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xa1] = [
+'dit', 'dix', 'di', 'dip', 'diex', 'die', 'diep', 'dat', 'dax', 'da', 'dap', 
'duox', 'duo', 'dot', 'dox', 'do',
+'dop', 'dex', 'de', 'dep', 'dut', 'dux', 'du', 'dup', 'durx', 'dur', 'tit', 
'tix', 'ti', 'tip', 'tiex', 'tie',
+'tiep', 'tat', 'tax', 'ta', 'tap', 'tuot', 'tuox', 'tuo', 'tuop', 'tot', 
'tox', 'to', 'top', 'tex', 'te', 'tep',
+'tut', 'tux', 'tu', 'tup', 'turx', 'tur', 'ddit', 'ddix', 'ddi', 'ddip', 
'ddiex', 'ddie', 'ddiep', 'ddat', 'ddax', 'dda',
+'ddap', 'dduox', 'dduo', 'dduop', 'ddot', 'ddox', 'ddo', 'ddop', 'ddex', 
'dde', 'ddep', 'ddut', 'ddux', 'ddu', 'ddup', 'ddurx',
+'ddur', 'ndit', 'ndix', 'ndi', 'ndip', 'ndiex', 'ndie', 'ndat', 'ndax', 'nda', 
'ndap', 'ndot', 'ndox', 'ndo', 'ndop', 'ndex',
+'nde', 'ndep', 'ndut', 'ndux', 'ndu', 'ndup', 'ndurx', 'ndur', 'hnit', 'hnix', 
'hni', 'hnip', 'hniet', 'hniex', 'hnie', 'hniep',
+'hnat', 'hnax', 'hna', 'hnap', 'hnuox', 'hnuo', 'hnot', 'hnox', 'hnop', 
'hnex', 'hne', 'hnep', 'hnut', 'nit', 'nix', 'ni',
+'nip', 'niex', 'nie', 'niep', 'nax', 'na', 'nap', 'nuox', 'nuo', 'nuop', 
'not', 'nox', 'no', 'nop', 'nex', 'ne',
+'nep', 'nut', 'nux', 'nu', 'nup', 'nurx', 'nur', 'hlit', 'hlix', 'hli', 
'hlip', 'hliex', 'hlie', 'hliep', 'hlat', 'hlax',
+'hla', 'hlap', 'hluox', 'hluo', 'hluop', 'hlox', 'hlo', 'hlop', 'hlex', 'hle', 
'hlep', 'hlut', 'hlux', 'hlu', 'hlup', 'hlurx',
+'hlur', 'hlyt', 'hlyx', 'hly', 'hlyp', 'hlyrx', 'hlyr', 'lit', 'lix', 'li', 
'lip', 'liet', 'liex', 'lie', 'liep', 'lat',
+'lax', 'la', 'lap', 'luot', 'luox', 'luo', 'luop', 'lot', 'lox', 'lo', 'lop', 
'lex', 'le', 'lep', 'lut', 'lux',
+'lu', 'lup', 'lurx', 'lur', 'lyt', 'lyx', 'ly', 'lyp', 'lyrx', 'lyr', 'git', 
'gix', 'gi', 'gip', 'giet', 'giex',
+'gie', 'giep', 'gat', 'gax', 'ga', 'gap', 'guot', 'guox', 'guo', 'guop', 
'got', 'gox', 'go', 'gop', 'get', 'gex',
+'ge', 'gep', 'gut', 'gux', 'gu', 'gup', 'gurx', 'gur', 'kit', 'kix', 'ki', 
'kip', 'kiex', 'kie', 'kiep', 'kat',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa2.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa2.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa2.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa2.pm       12 Oct 2011 
23:51:10 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xa2] = [
+'kax', 'ka', 'kap', 'kuox', 'kuo', 'kuop', 'kot', 'kox', 'ko', 'kop', 'ket', 
'kex', 'ke', 'kep', 'kut', 'kux',
+'ku', 'kup', 'kurx', 'kur', 'ggit', 'ggix', 'ggi', 'ggiex', 'ggie', 'ggiep', 
'ggat', 'ggax', 'gga', 'ggap', 'gguot', 'gguox',
+'gguo', 'gguop', 'ggot', 'ggox', 'ggo', 'ggop', 'gget', 'ggex', 'gge', 'ggep', 
'ggut', 'ggux', 'ggu', 'ggup', 'ggurx', 'ggur',
+'mgiex', 'mgie', 'mgat', 'mgax', 'mga', 'mgap', 'mguox', 'mguo', 'mguop', 
'mgot', 'mgox', 'mgo', 'mgop', 'mgex', 'mge', 'mgep',
+'mgut', 'mgux', 'mgu', 'mgup', 'mgurx', 'mgur', 'hxit', 'hxix', 'hxi', 'hxip', 
'hxiet', 'hxiex', 'hxie', 'hxiep', 'hxat', 'hxax',
+'hxa', 'hxap', 'hxuot', 'hxuox', 'hxuo', 'hxuop', 'hxot', 'hxox', 'hxo', 
'hxop', 'hxex', 'hxe', 'hxep', 'ngiex', 'ngie', 'ngiep',
+'ngat', 'ngax', 'nga', 'ngap', 'nguot', 'nguox', 'nguo', 'ngot', 'ngox', 
'ngo', 'ngop', 'ngex', 'nge', 'ngep', 'hit', 'hiex',
+'hie', 'hat', 'hax', 'ha', 'hap', 'huot', 'huox', 'huo', 'huop', 'hot', 'hox', 
'ho', 'hop', 'hex', 'he', 'hep',
+'wat', 'wax', 'wa', 'wap', 'wuox', 'wuo', 'wuop', 'wox', 'wo', 'wop', 'wex', 
'we', 'wep', 'zit', 'zix', 'zi',
+'zip', 'ziex', 'zie', 'ziep', 'zat', 'zax', 'za', 'zap', 'zuox', 'zuo', 
'zuop', 'zot', 'zox', 'zo', 'zop', 'zex',
+'ze', 'zep', 'zut', 'zux', 'zu', 'zup', 'zurx', 'zur', 'zyt', 'zyx', 'zy', 
'zyp', 'zyrx', 'zyr', 'cit', 'cix',
+'ci', 'cip', 'ciet', 'ciex', 'cie', 'ciep', 'cat', 'cax', 'ca', 'cap', 'cuox', 
'cuo', 'cuop', 'cot', 'cox', 'co',
+'cop', 'cex', 'ce', 'cep', 'cut', 'cux', 'cu', 'cup', 'curx', 'cur', 'cyt', 
'cyx', 'cy', 'cyp', 'cyrx', 'cyr',
+'zzit', 'zzix', 'zzi', 'zzip', 'zziet', 'zziex', 'zzie', 'zziep', 'zzat', 
'zzax', 'zza', 'zzap', 'zzox', 'zzo', 'zzop', 'zzex',
+'zze', 'zzep', 'zzux', 'zzu', 'zzup', 'zzurx', 'zzur', 'zzyt', 'zzyx', 'zzy', 
'zzyp', 'zzyrx', 'zzyr', 'nzit', 'nzix', 'nzi',
+'nzip', 'nziex', 'nzie', 'nziep', 'nzat', 'nzax', 'nza', 'nzap', 'nzuox', 
'nzuo', 'nzox', 'nzop', 'nzex', 'nze', 'nzux', 'nzu',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa3.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa3.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa3.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa3.pm       12 Oct 2011 
23:51:10 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:36 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xa3] = [
+'nzup', 'nzurx', 'nzur', 'nzyt', 'nzyx', 'nzy', 'nzyp', 'nzyrx', 'nzyr', 
'sit', 'six', 'si', 'sip', 'siex', 'sie', 'siep',
+'sat', 'sax', 'sa', 'sap', 'suox', 'suo', 'suop', 'sot', 'sox', 'so', 'sop', 
'sex', 'se', 'sep', 'sut', 'sux',
+'su', 'sup', 'surx', 'sur', 'syt', 'syx', 'sy', 'syp', 'syrx', 'syr', 'ssit', 
'ssix', 'ssi', 'ssip', 'ssiex', 'ssie',
+'ssiep', 'ssat', 'ssax', 'ssa', 'ssap', 'ssot', 'ssox', 'sso', 'ssop', 'ssex', 
'sse', 'ssep', 'ssut', 'ssux', 'ssu', 'ssup',
+'ssyt', 'ssyx', 'ssy', 'ssyp', 'ssyrx', 'ssyr', 'zhat', 'zhax', 'zha', 'zhap', 
'zhuox', 'zhuo', 'zhuop', 'zhot', 'zhox', 'zho',
+'zhop', 'zhet', 'zhex', 'zhe', 'zhep', 'zhut', 'zhux', 'zhu', 'zhup', 'zhurx', 
'zhur', 'zhyt', 'zhyx', 'zhy', 'zhyp', 'zhyrx',
+'zhyr', 'chat', 'chax', 'cha', 'chap', 'chuot', 'chuox', 'chuo', 'chuop', 
'chot', 'chox', 'cho', 'chop', 'chet', 'chex', 'che',
+'chep', 'chux', 'chu', 'chup', 'churx', 'chur', 'chyt', 'chyx', 'chy', 'chyp', 
'chyrx', 'chyr', 'rrax', 'rra', 'rruox', 'rruo',
+'rrot', 'rrox', 'rro', 'rrop', 'rret', 'rrex', 'rre', 'rrep', 'rrut', 'rrux', 
'rru', 'rrup', 'rrurx', 'rrur', 'rryt', 'rryx',
+'rry', 'rryp', 'rryrx', 'rryr', 'nrat', 'nrax', 'nra', 'nrap', 'nrox', 'nro', 
'nrop', 'nret', 'nrex', 'nre', 'nrep', 'nrut',
+'nrux', 'nru', 'nrup', 'nrurx', 'nrur', 'nryt', 'nryx', 'nry', 'nryp', 
'nryrx', 'nryr', 'shat', 'shax', 'sha', 'shap', 'shuox',
+'shuo', 'shuop', 'shot', 'shox', 'sho', 'shop', 'shet', 'shex', 'she', 'shep', 
'shut', 'shux', 'shu', 'shup', 'shurx', 'shur',
+'shyt', 'shyx', 'shy', 'shyp', 'shyrx', 'shyr', 'rat', 'rax', 'ra', 'rap', 
'ruox', 'ruo', 'ruop', 'rot', 'rox', 'ro',
+'rop', 'rex', 're', 'rep', 'rut', 'rux', 'ru', 'rup', 'rurx', 'rur', 'ryt', 
'ryx', 'ry', 'ryp', 'ryrx', 'ryr',
+'jit', 'jix', 'ji', 'jip', 'jiet', 'jiex', 'jie', 'jiep', 'juot', 'juox', 
'juo', 'juop', 'jot', 'jox', 'jo', 'jop',
+'jut', 'jux', 'ju', 'jup', 'jurx', 'jur', 'jyt', 'jyx', 'jy', 'jyp', 'jyrx', 
'jyr', 'qit', 'qix', 'qi', 'qip',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa4.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa4.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa4.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xa4.pm       12 Oct 2011 
23:51:10 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xa4] = [
+'qiet', 'qiex', 'qie', 'qiep', 'quot', 'quox', 'quo', 'quop', 'qot', 'qox', 
'qo', 'qop', 'qut', 'qux', 'qu', 'qup',
+'qurx', 'qur', 'qyt', 'qyx', 'qy', 'qyp', 'qyrx', 'qyr', 'jjit', 'jjix', 
'jji', 'jjip', 'jjiet', 'jjiex', 'jjie', 'jjiep',
+'jjuox', 'jjuo', 'jjuop', 'jjot', 'jjox', 'jjo', 'jjop', 'jjut', 'jjux', 
'jju', 'jjup', 'jjurx', 'jjur', 'jjyt', 'jjyx', 'jjy',
+'jjyp', 'njit', 'njix', 'nji', 'njip', 'njiet', 'njiex', 'njie', 'njiep', 
'njuox', 'njuo', 'njot', 'njox', 'njo', 'njop', 'njux',
+'nju', 'njup', 'njurx', 'njur', 'njyt', 'njyx', 'njy', 'njyp', 'njyrx', 
'njyr', 'nyit', 'nyix', 'nyi', 'nyip', 'nyiet', 'nyiex',
+'nyie', 'nyiep', 'nyuox', 'nyuo', 'nyuop', 'nyot', 'nyox', 'nyo', 'nyop', 
'nyut', 'nyux', 'nyu', 'nyup', 'xit', 'xix', 'xi',
+'xip', 'xiet', 'xiex', 'xie', 'xiep', 'xuox', 'xuo', 'xot', 'xox', 'xo', 
'xop', 'xyt', 'xyx', 'xy', 'xyp', 'xyrx',
+'xyr', 'yit', 'yix', 'yi', 'yip', 'yiet', 'yiex', 'yie', 'yiep', 'yuot', 
'yuox', 'yuo', 'yuop', 'yot', 'yox', 'yo',
+'yop', 'yut', 'yux', 'yu', 'yup', 'yurx', 'yur', 'yyt', 'yyx', 'yy', 'yyp', 
'yyrx', 'yyr', '[?]', '[?]', '[?]',
+'Qot', 'Li', 'Kit', 'Nyip', 'Cyp', 'Ssi', 'Ggop', 'Gep', 'Mi', 'Hxit', 'Lyr', 
'Bbut', 'Mop', 'Yo', 'Put', 'Hxuo',
+'Tat', 'Ga', '[?]', '[?]', 'Ddur', 'Bur', 'Gguo', 'Nyop', 'Tu', 'Op', 'Jjut', 
'Zot', 'Pyt', 'Hmo', 'Yit', 'Vur',
+'Shy', 'Vep', 'Za', 'Jo', '[?]', 'Jjy', 'Got', 'Jjie', 'Wo', 'Du', 'Shur', 
'Lie', 'Cy', 'Cuop', 'Cip', 'Hxop',
+'Shat', '[?]', 'Shop', 'Che', 'Zziet', '[?]', 'Ke', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xac.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xac.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xac.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xac.pm       12 Oct 2011 
23:51:10 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xac] = [
+'ga', 'gag', 'gagg', 'gags', 'gan', 'ganj', 'ganh', 'gad', 'gal', 'galg', 
'galm', 'galb', 'gals', 'galt', 'galp', 'galh',
+'gam', 'gab', 'gabs', 'gas', 'gass', 'gang', 'gaj', 'gac', 'gak', 'gat', 
'gap', 'gah', 'gae', 'gaeg', 'gaegg', 'gaegs',
+'gaen', 'gaenj', 'gaenh', 'gaed', 'gael', 'gaelg', 'gaelm', 'gaelb', 'gaels', 
'gaelt', 'gaelp', 'gaelh', 'gaem', 'gaeb', 'gaebs', 'gaes',
+'gaess', 'gaeng', 'gaej', 'gaec', 'gaek', 'gaet', 'gaep', 'gaeh', 'gya', 
'gyag', 'gyagg', 'gyags', 'gyan', 'gyanj', 'gyanh', 'gyad',
+'gyal', 'gyalg', 'gyalm', 'gyalb', 'gyals', 'gyalt', 'gyalp', 'gyalh', 'gyam', 
'gyab', 'gyabs', 'gyas', 'gyass', 'gyang', 'gyaj', 'gyac',
+'gyak', 'gyat', 'gyap', 'gyah', 'gyae', 'gyaeg', 'gyaegg', 'gyaegs', 'gyaen', 
'gyaenj', 'gyaenh', 'gyaed', 'gyael', 'gyaelg', 'gyaelm', 'gyaelb',
+'gyaels', 'gyaelt', 'gyaelp', 'gyaelh', 'gyaem', 'gyaeb', 'gyaebs', 'gyaes', 
'gyaess', 'gyaeng', 'gyaej', 'gyaec', 'gyaek', 'gyaet', 'gyaep', 'gyaeh',
+'geo', 'geog', 'geogg', 'geogs', 'geon', 'geonj', 'geonh', 'geod', 'geol', 
'geolg', 'geolm', 'geolb', 'geols', 'geolt', 'geolp', 'geolh',
+'geom', 'geob', 'geobs', 'geos', 'geoss', 'geong', 'geoj', 'geoc', 'geok', 
'geot', 'geop', 'geoh', 'ge', 'geg', 'gegg', 'gegs',
+'gen', 'genj', 'genh', 'ged', 'gel', 'gelg', 'gelm', 'gelb', 'gels', 'gelt', 
'gelp', 'gelh', 'gem', 'geb', 'gebs', 'ges',
+'gess', 'geng', 'gej', 'gec', 'gek', 'get', 'gep', 'geh', 'gyeo', 'gyeog', 
'gyeogg', 'gyeogs', 'gyeon', 'gyeonj', 'gyeonh', 'gyeod',
+'gyeol', 'gyeolg', 'gyeolm', 'gyeolb', 'gyeols', 'gyeolt', 'gyeolp', 'gyeolh', 
'gyeom', 'gyeob', 'gyeobs', 'gyeos', 'gyeoss', 'gyeong', 'gyeoj', 'gyeoc',
+'gyeok', 'gyeot', 'gyeop', 'gyeoh', 'gye', 'gyeg', 'gyegg', 'gyegs', 'gyen', 
'gyenj', 'gyenh', 'gyed', 'gyel', 'gyelg', 'gyelm', 'gyelb',
+'gyels', 'gyelt', 'gyelp', 'gyelh', 'gyem', 'gyeb', 'gyebs', 'gyes', 'gyess', 
'gyeng', 'gyej', 'gyec', 'gyek', 'gyet', 'gyep', 'gyeh',
+'go', 'gog', 'gogg', 'gogs', 'gon', 'gonj', 'gonh', 'god', 'gol', 'golg', 
'golm', 'golb', 'gols', 'golt', 'golp', 'golh',
+'gom', 'gob', 'gobs', 'gos', 'goss', 'gong', 'goj', 'goc', 'gok', 'got', 
'gop', 'goh', 'gwa', 'gwag', 'gwagg', 'gwags',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xad.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xad.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xad.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xad.pm       12 Oct 2011 
23:51:10 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xad] = [
+'gwan', 'gwanj', 'gwanh', 'gwad', 'gwal', 'gwalg', 'gwalm', 'gwalb', 'gwals', 
'gwalt', 'gwalp', 'gwalh', 'gwam', 'gwab', 'gwabs', 'gwas',
+'gwass', 'gwang', 'gwaj', 'gwac', 'gwak', 'gwat', 'gwap', 'gwah', 'gwae', 
'gwaeg', 'gwaegg', 'gwaegs', 'gwaen', 'gwaenj', 'gwaenh', 'gwaed',
+'gwael', 'gwaelg', 'gwaelm', 'gwaelb', 'gwaels', 'gwaelt', 'gwaelp', 'gwaelh', 
'gwaem', 'gwaeb', 'gwaebs', 'gwaes', 'gwaess', 'gwaeng', 'gwaej', 'gwaec',
+'gwaek', 'gwaet', 'gwaep', 'gwaeh', 'goe', 'goeg', 'goegg', 'goegs', 'goen', 
'goenj', 'goenh', 'goed', 'goel', 'goelg', 'goelm', 'goelb',
+'goels', 'goelt', 'goelp', 'goelh', 'goem', 'goeb', 'goebs', 'goes', 'goess', 
'goeng', 'goej', 'goec', 'goek', 'goet', 'goep', 'goeh',
+'gyo', 'gyog', 'gyogg', 'gyogs', 'gyon', 'gyonj', 'gyonh', 'gyod', 'gyol', 
'gyolg', 'gyolm', 'gyolb', 'gyols', 'gyolt', 'gyolp', 'gyolh',
+'gyom', 'gyob', 'gyobs', 'gyos', 'gyoss', 'gyong', 'gyoj', 'gyoc', 'gyok', 
'gyot', 'gyop', 'gyoh', 'gu', 'gug', 'gugg', 'gugs',
+'gun', 'gunj', 'gunh', 'gud', 'gul', 'gulg', 'gulm', 'gulb', 'guls', 'gult', 
'gulp', 'gulh', 'gum', 'gub', 'gubs', 'gus',
+'guss', 'gung', 'guj', 'guc', 'guk', 'gut', 'gup', 'guh', 'gweo', 'gweog', 
'gweogg', 'gweogs', 'gweon', 'gweonj', 'gweonh', 'gweod',
+'gweol', 'gweolg', 'gweolm', 'gweolb', 'gweols', 'gweolt', 'gweolp', 'gweolh', 
'gweom', 'gweob', 'gweobs', 'gweos', 'gweoss', 'gweong', 'gweoj', 'gweoc',
+'gweok', 'gweot', 'gweop', 'gweoh', 'gwe', 'gweg', 'gwegg', 'gwegs', 'gwen', 
'gwenj', 'gwenh', 'gwed', 'gwel', 'gwelg', 'gwelm', 'gwelb',
+'gwels', 'gwelt', 'gwelp', 'gwelh', 'gwem', 'gweb', 'gwebs', 'gwes', 'gwess', 
'gweng', 'gwej', 'gwec', 'gwek', 'gwet', 'gwep', 'gweh',
+'gwi', 'gwig', 'gwigg', 'gwigs', 'gwin', 'gwinj', 'gwinh', 'gwid', 'gwil', 
'gwilg', 'gwilm', 'gwilb', 'gwils', 'gwilt', 'gwilp', 'gwilh',
+'gwim', 'gwib', 'gwibs', 'gwis', 'gwiss', 'gwing', 'gwij', 'gwic', 'gwik', 
'gwit', 'gwip', 'gwih', 'gyu', 'gyug', 'gyugg', 'gyugs',
+'gyun', 'gyunj', 'gyunh', 'gyud', 'gyul', 'gyulg', 'gyulm', 'gyulb', 'gyuls', 
'gyult', 'gyulp', 'gyulh', 'gyum', 'gyub', 'gyubs', 'gyus',
+'gyuss', 'gyung', 'gyuj', 'gyuc', 'gyuk', 'gyut', 'gyup', 'gyuh', 'geu', 
'geug', 'geugg', 'geugs', 'geun', 'geunj', 'geunh', 'geud',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xae.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xae.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xae.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xae.pm       12 Oct 2011 
23:51:11 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xae] = [
+'geul', 'geulg', 'geulm', 'geulb', 'geuls', 'geult', 'geulp', 'geulh', 'geum', 
'geub', 'geubs', 'geus', 'geuss', 'geung', 'geuj', 'geuc',
+'geuk', 'geut', 'geup', 'geuh', 'gyi', 'gyig', 'gyigg', 'gyigs', 'gyin', 
'gyinj', 'gyinh', 'gyid', 'gyil', 'gyilg', 'gyilm', 'gyilb',
+'gyils', 'gyilt', 'gyilp', 'gyilh', 'gyim', 'gyib', 'gyibs', 'gyis', 'gyiss', 
'gying', 'gyij', 'gyic', 'gyik', 'gyit', 'gyip', 'gyih',
+'gi', 'gig', 'gigg', 'gigs', 'gin', 'ginj', 'ginh', 'gid', 'gil', 'gilg', 
'gilm', 'gilb', 'gils', 'gilt', 'gilp', 'gilh',
+'gim', 'gib', 'gibs', 'gis', 'giss', 'ging', 'gij', 'gic', 'gik', 'git', 
'gip', 'gih', 'gga', 'ggag', 'ggagg', 'ggags',
+'ggan', 'gganj', 'gganh', 'ggad', 'ggal', 'ggalg', 'ggalm', 'ggalb', 'ggals', 
'ggalt', 'ggalp', 'ggalh', 'ggam', 'ggab', 'ggabs', 'ggas',
+'ggass', 'ggang', 'ggaj', 'ggac', 'ggak', 'ggat', 'ggap', 'ggah', 'ggae', 
'ggaeg', 'ggaegg', 'ggaegs', 'ggaen', 'ggaenj', 'ggaenh', 'ggaed',
+'ggael', 'ggaelg', 'ggaelm', 'ggaelb', 'ggaels', 'ggaelt', 'ggaelp', 'ggaelh', 
'ggaem', 'ggaeb', 'ggaebs', 'ggaes', 'ggaess', 'ggaeng', 'ggaej', 'ggaec',
+'ggaek', 'ggaet', 'ggaep', 'ggaeh', 'ggya', 'ggyag', 'ggyagg', 'ggyags', 
'ggyan', 'ggyanj', 'ggyanh', 'ggyad', 'ggyal', 'ggyalg', 'ggyalm', 'ggyalb',
+'ggyals', 'ggyalt', 'ggyalp', 'ggyalh', 'ggyam', 'ggyab', 'ggyabs', 'ggyas', 
'ggyass', 'ggyang', 'ggyaj', 'ggyac', 'ggyak', 'ggyat', 'ggyap', 'ggyah',
+'ggyae', 'ggyaeg', 'ggyaegg', 'ggyaegs', 'ggyaen', 'ggyaenj', 'ggyaenh', 
'ggyaed', 'ggyael', 'ggyaelg', 'ggyaelm', 'ggyaelb', 'ggyaels', 'ggyaelt', 
'ggyaelp', 'ggyaelh',
+'ggyaem', 'ggyaeb', 'ggyaebs', 'ggyaes', 'ggyaess', 'ggyaeng', 'ggyaej', 
'ggyaec', 'ggyaek', 'ggyaet', 'ggyaep', 'ggyaeh', 'ggeo', 'ggeog', 'ggeogg', 
'ggeogs',
+'ggeon', 'ggeonj', 'ggeonh', 'ggeod', 'ggeol', 'ggeolg', 'ggeolm', 'ggeolb', 
'ggeols', 'ggeolt', 'ggeolp', 'ggeolh', 'ggeom', 'ggeob', 'ggeobs', 'ggeos',
+'ggeoss', 'ggeong', 'ggeoj', 'ggeoc', 'ggeok', 'ggeot', 'ggeop', 'ggeoh', 
'gge', 'ggeg', 'ggegg', 'ggegs', 'ggen', 'ggenj', 'ggenh', 'gged',
+'ggel', 'ggelg', 'ggelm', 'ggelb', 'ggels', 'ggelt', 'ggelp', 'ggelh', 'ggem', 
'ggeb', 'ggebs', 'gges', 'ggess', 'ggeng', 'ggej', 'ggec',
+'ggek', 'gget', 'ggep', 'ggeh', 'ggyeo', 'ggyeog', 'ggyeogg', 'ggyeogs', 
'ggyeon', 'ggyeonj', 'ggyeonh', 'ggyeod', 'ggyeol', 'ggyeolg', 'ggyeolm', 
'ggyeolb',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xaf.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xaf.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xaf.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xaf.pm       12 Oct 2011 
23:51:11 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xaf] = [
+'ggyeols', 'ggyeolt', 'ggyeolp', 'ggyeolh', 'ggyeom', 'ggyeob', 'ggyeobs', 
'ggyeos', 'ggyeoss', 'ggyeong', 'ggyeoj', 'ggyeoc', 'ggyeok', 'ggyeot', 
'ggyeop', 'ggyeoh',
+'ggye', 'ggyeg', 'ggyegg', 'ggyegs', 'ggyen', 'ggyenj', 'ggyenh', 'ggyed', 
'ggyel', 'ggyelg', 'ggyelm', 'ggyelb', 'ggyels', 'ggyelt', 'ggyelp', 'ggyelh',
+'ggyem', 'ggyeb', 'ggyebs', 'ggyes', 'ggyess', 'ggyeng', 'ggyej', 'ggyec', 
'ggyek', 'ggyet', 'ggyep', 'ggyeh', 'ggo', 'ggog', 'ggogg', 'ggogs',
+'ggon', 'ggonj', 'ggonh', 'ggod', 'ggol', 'ggolg', 'ggolm', 'ggolb', 'ggols', 
'ggolt', 'ggolp', 'ggolh', 'ggom', 'ggob', 'ggobs', 'ggos',
+'ggoss', 'ggong', 'ggoj', 'ggoc', 'ggok', 'ggot', 'ggop', 'ggoh', 'ggwa', 
'ggwag', 'ggwagg', 'ggwags', 'ggwan', 'ggwanj', 'ggwanh', 'ggwad',
+'ggwal', 'ggwalg', 'ggwalm', 'ggwalb', 'ggwals', 'ggwalt', 'ggwalp', 'ggwalh', 
'ggwam', 'ggwab', 'ggwabs', 'ggwas', 'ggwass', 'ggwang', 'ggwaj', 'ggwac',
+'ggwak', 'ggwat', 'ggwap', 'ggwah', 'ggwae', 'ggwaeg', 'ggwaegg', 'ggwaegs', 
'ggwaen', 'ggwaenj', 'ggwaenh', 'ggwaed', 'ggwael', 'ggwaelg', 'ggwaelm', 
'ggwaelb',
+'ggwaels', 'ggwaelt', 'ggwaelp', 'ggwaelh', 'ggwaem', 'ggwaeb', 'ggwaebs', 
'ggwaes', 'ggwaess', 'ggwaeng', 'ggwaej', 'ggwaec', 'ggwaek', 'ggwaet', 
'ggwaep', 'ggwaeh',
+'ggoe', 'ggoeg', 'ggoegg', 'ggoegs', 'ggoen', 'ggoenj', 'ggoenh', 'ggoed', 
'ggoel', 'ggoelg', 'ggoelm', 'ggoelb', 'ggoels', 'ggoelt', 'ggoelp', 'ggoelh',
+'ggoem', 'ggoeb', 'ggoebs', 'ggoes', 'ggoess', 'ggoeng', 'ggoej', 'ggoec', 
'ggoek', 'ggoet', 'ggoep', 'ggoeh', 'ggyo', 'ggyog', 'ggyogg', 'ggyogs',
+'ggyon', 'ggyonj', 'ggyonh', 'ggyod', 'ggyol', 'ggyolg', 'ggyolm', 'ggyolb', 
'ggyols', 'ggyolt', 'ggyolp', 'ggyolh', 'ggyom', 'ggyob', 'ggyobs', 'ggyos',
+'ggyoss', 'ggyong', 'ggyoj', 'ggyoc', 'ggyok', 'ggyot', 'ggyop', 'ggyoh', 
'ggu', 'ggug', 'ggugg', 'ggugs', 'ggun', 'ggunj', 'ggunh', 'ggud',
+'ggul', 'ggulg', 'ggulm', 'ggulb', 'gguls', 'ggult', 'ggulp', 'ggulh', 'ggum', 
'ggub', 'ggubs', 'ggus', 'gguss', 'ggung', 'gguj', 'gguc',
+'gguk', 'ggut', 'ggup', 'gguh', 'ggweo', 'ggweog', 'ggweogg', 'ggweogs', 
'ggweon', 'ggweonj', 'ggweonh', 'ggweod', 'ggweol', 'ggweolg', 'ggweolm', 
'ggweolb',
+'ggweols', 'ggweolt', 'ggweolp', 'ggweolh', 'ggweom', 'ggweob', 'ggweobs', 
'ggweos', 'ggweoss', 'ggweong', 'ggweoj', 'ggweoc', 'ggweok', 'ggweot', 
'ggweop', 'ggweoh',
+'ggwe', 'ggweg', 'ggwegg', 'ggwegs', 'ggwen', 'ggwenj', 'ggwenh', 'ggwed', 
'ggwel', 'ggwelg', 'ggwelm', 'ggwelb', 'ggwels', 'ggwelt', 'ggwelp', 'ggwelh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb0.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb0.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb0.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb0.pm       12 Oct 2011 
23:51:11 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb0] = [
+'ggwem', 'ggweb', 'ggwebs', 'ggwes', 'ggwess', 'ggweng', 'ggwej', 'ggwec', 
'ggwek', 'ggwet', 'ggwep', 'ggweh', 'ggwi', 'ggwig', 'ggwigg', 'ggwigs',
+'ggwin', 'ggwinj', 'ggwinh', 'ggwid', 'ggwil', 'ggwilg', 'ggwilm', 'ggwilb', 
'ggwils', 'ggwilt', 'ggwilp', 'ggwilh', 'ggwim', 'ggwib', 'ggwibs', 'ggwis',
+'ggwiss', 'ggwing', 'ggwij', 'ggwic', 'ggwik', 'ggwit', 'ggwip', 'ggwih', 
'ggyu', 'ggyug', 'ggyugg', 'ggyugs', 'ggyun', 'ggyunj', 'ggyunh', 'ggyud',
+'ggyul', 'ggyulg', 'ggyulm', 'ggyulb', 'ggyuls', 'ggyult', 'ggyulp', 'ggyulh', 
'ggyum', 'ggyub', 'ggyubs', 'ggyus', 'ggyuss', 'ggyung', 'ggyuj', 'ggyuc',
+'ggyuk', 'ggyut', 'ggyup', 'ggyuh', 'ggeu', 'ggeug', 'ggeugg', 'ggeugs', 
'ggeun', 'ggeunj', 'ggeunh', 'ggeud', 'ggeul', 'ggeulg', 'ggeulm', 'ggeulb',
+'ggeuls', 'ggeult', 'ggeulp', 'ggeulh', 'ggeum', 'ggeub', 'ggeubs', 'ggeus', 
'ggeuss', 'ggeung', 'ggeuj', 'ggeuc', 'ggeuk', 'ggeut', 'ggeup', 'ggeuh',
+'ggyi', 'ggyig', 'ggyigg', 'ggyigs', 'ggyin', 'ggyinj', 'ggyinh', 'ggyid', 
'ggyil', 'ggyilg', 'ggyilm', 'ggyilb', 'ggyils', 'ggyilt', 'ggyilp', 'ggyilh',
+'ggyim', 'ggyib', 'ggyibs', 'ggyis', 'ggyiss', 'ggying', 'ggyij', 'ggyic', 
'ggyik', 'ggyit', 'ggyip', 'ggyih', 'ggi', 'ggig', 'ggigg', 'ggigs',
+'ggin', 'gginj', 'gginh', 'ggid', 'ggil', 'ggilg', 'ggilm', 'ggilb', 'ggils', 
'ggilt', 'ggilp', 'ggilh', 'ggim', 'ggib', 'ggibs', 'ggis',
+'ggiss', 'gging', 'ggij', 'ggic', 'ggik', 'ggit', 'ggip', 'ggih', 'na', 'nag', 
'nagg', 'nags', 'nan', 'nanj', 'nanh', 'nad',
+'nal', 'nalg', 'nalm', 'nalb', 'nals', 'nalt', 'nalp', 'nalh', 'nam', 'nab', 
'nabs', 'nas', 'nass', 'nang', 'naj', 'nac',
+'nak', 'nat', 'nap', 'nah', 'nae', 'naeg', 'naegg', 'naegs', 'naen', 'naenj', 
'naenh', 'naed', 'nael', 'naelg', 'naelm', 'naelb',
+'naels', 'naelt', 'naelp', 'naelh', 'naem', 'naeb', 'naebs', 'naes', 'naess', 
'naeng', 'naej', 'naec', 'naek', 'naet', 'naep', 'naeh',
+'nya', 'nyag', 'nyagg', 'nyags', 'nyan', 'nyanj', 'nyanh', 'nyad', 'nyal', 
'nyalg', 'nyalm', 'nyalb', 'nyals', 'nyalt', 'nyalp', 'nyalh',
+'nyam', 'nyab', 'nyabs', 'nyas', 'nyass', 'nyang', 'nyaj', 'nyac', 'nyak', 
'nyat', 'nyap', 'nyah', 'nyae', 'nyaeg', 'nyaegg', 'nyaegs',
+'nyaen', 'nyaenj', 'nyaenh', 'nyaed', 'nyael', 'nyaelg', 'nyaelm', 'nyaelb', 
'nyaels', 'nyaelt', 'nyaelp', 'nyaelh', 'nyaem', 'nyaeb', 'nyaebs', 'nyaes',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb1.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb1.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb1.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb1.pm       12 Oct 2011 
23:51:11 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb1] = [
+'nyaess', 'nyaeng', 'nyaej', 'nyaec', 'nyaek', 'nyaet', 'nyaep', 'nyaeh', 
'neo', 'neog', 'neogg', 'neogs', 'neon', 'neonj', 'neonh', 'neod',
+'neol', 'neolg', 'neolm', 'neolb', 'neols', 'neolt', 'neolp', 'neolh', 'neom', 
'neob', 'neobs', 'neos', 'neoss', 'neong', 'neoj', 'neoc',
+'neok', 'neot', 'neop', 'neoh', 'ne', 'neg', 'negg', 'negs', 'nen', 'nenj', 
'nenh', 'ned', 'nel', 'nelg', 'nelm', 'nelb',
+'nels', 'nelt', 'nelp', 'nelh', 'nem', 'neb', 'nebs', 'nes', 'ness', 'neng', 
'nej', 'nec', 'nek', 'net', 'nep', 'neh',
+'nyeo', 'nyeog', 'nyeogg', 'nyeogs', 'nyeon', 'nyeonj', 'nyeonh', 'nyeod', 
'nyeol', 'nyeolg', 'nyeolm', 'nyeolb', 'nyeols', 'nyeolt', 'nyeolp', 'nyeolh',
+'nyeom', 'nyeob', 'nyeobs', 'nyeos', 'nyeoss', 'nyeong', 'nyeoj', 'nyeoc', 
'nyeok', 'nyeot', 'nyeop', 'nyeoh', 'nye', 'nyeg', 'nyegg', 'nyegs',
+'nyen', 'nyenj', 'nyenh', 'nyed', 'nyel', 'nyelg', 'nyelm', 'nyelb', 'nyels', 
'nyelt', 'nyelp', 'nyelh', 'nyem', 'nyeb', 'nyebs', 'nyes',
+'nyess', 'nyeng', 'nyej', 'nyec', 'nyek', 'nyet', 'nyep', 'nyeh', 'no', 'nog', 
'nogg', 'nogs', 'non', 'nonj', 'nonh', 'nod',
+'nol', 'nolg', 'nolm', 'nolb', 'nols', 'nolt', 'nolp', 'nolh', 'nom', 'nob', 
'nobs', 'nos', 'noss', 'nong', 'noj', 'noc',
+'nok', 'not', 'nop', 'noh', 'nwa', 'nwag', 'nwagg', 'nwags', 'nwan', 'nwanj', 
'nwanh', 'nwad', 'nwal', 'nwalg', 'nwalm', 'nwalb',
+'nwals', 'nwalt', 'nwalp', 'nwalh', 'nwam', 'nwab', 'nwabs', 'nwas', 'nwass', 
'nwang', 'nwaj', 'nwac', 'nwak', 'nwat', 'nwap', 'nwah',
+'nwae', 'nwaeg', 'nwaegg', 'nwaegs', 'nwaen', 'nwaenj', 'nwaenh', 'nwaed', 
'nwael', 'nwaelg', 'nwaelm', 'nwaelb', 'nwaels', 'nwaelt', 'nwaelp', 'nwaelh',
+'nwaem', 'nwaeb', 'nwaebs', 'nwaes', 'nwaess', 'nwaeng', 'nwaej', 'nwaec', 
'nwaek', 'nwaet', 'nwaep', 'nwaeh', 'noe', 'noeg', 'noegg', 'noegs',
+'noen', 'noenj', 'noenh', 'noed', 'noel', 'noelg', 'noelm', 'noelb', 'noels', 
'noelt', 'noelp', 'noelh', 'noem', 'noeb', 'noebs', 'noes',
+'noess', 'noeng', 'noej', 'noec', 'noek', 'noet', 'noep', 'noeh', 'nyo', 
'nyog', 'nyogg', 'nyogs', 'nyon', 'nyonj', 'nyonh', 'nyod',
+'nyol', 'nyolg', 'nyolm', 'nyolb', 'nyols', 'nyolt', 'nyolp', 'nyolh', 'nyom', 
'nyob', 'nyobs', 'nyos', 'nyoss', 'nyong', 'nyoj', 'nyoc',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb2.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb2.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb2.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb2.pm       12 Oct 2011 
23:51:11 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb2] = [
+'nyok', 'nyot', 'nyop', 'nyoh', 'nu', 'nug', 'nugg', 'nugs', 'nun', 'nunj', 
'nunh', 'nud', 'nul', 'nulg', 'nulm', 'nulb',
+'nuls', 'nult', 'nulp', 'nulh', 'num', 'nub', 'nubs', 'nus', 'nuss', 'nung', 
'nuj', 'nuc', 'nuk', 'nut', 'nup', 'nuh',
+'nweo', 'nweog', 'nweogg', 'nweogs', 'nweon', 'nweonj', 'nweonh', 'nweod', 
'nweol', 'nweolg', 'nweolm', 'nweolb', 'nweols', 'nweolt', 'nweolp', 'nweolh',
+'nweom', 'nweob', 'nweobs', 'nweos', 'nweoss', 'nweong', 'nweoj', 'nweoc', 
'nweok', 'nweot', 'nweop', 'nweoh', 'nwe', 'nweg', 'nwegg', 'nwegs',
+'nwen', 'nwenj', 'nwenh', 'nwed', 'nwel', 'nwelg', 'nwelm', 'nwelb', 'nwels', 
'nwelt', 'nwelp', 'nwelh', 'nwem', 'nweb', 'nwebs', 'nwes',
+'nwess', 'nweng', 'nwej', 'nwec', 'nwek', 'nwet', 'nwep', 'nweh', 'nwi', 
'nwig', 'nwigg', 'nwigs', 'nwin', 'nwinj', 'nwinh', 'nwid',
+'nwil', 'nwilg', 'nwilm', 'nwilb', 'nwils', 'nwilt', 'nwilp', 'nwilh', 'nwim', 
'nwib', 'nwibs', 'nwis', 'nwiss', 'nwing', 'nwij', 'nwic',
+'nwik', 'nwit', 'nwip', 'nwih', 'nyu', 'nyug', 'nyugg', 'nyugs', 'nyun', 
'nyunj', 'nyunh', 'nyud', 'nyul', 'nyulg', 'nyulm', 'nyulb',
+'nyuls', 'nyult', 'nyulp', 'nyulh', 'nyum', 'nyub', 'nyubs', 'nyus', 'nyuss', 
'nyung', 'nyuj', 'nyuc', 'nyuk', 'nyut', 'nyup', 'nyuh',
+'neu', 'neug', 'neugg', 'neugs', 'neun', 'neunj', 'neunh', 'neud', 'neul', 
'neulg', 'neulm', 'neulb', 'neuls', 'neult', 'neulp', 'neulh',
+'neum', 'neub', 'neubs', 'neus', 'neuss', 'neung', 'neuj', 'neuc', 'neuk', 
'neut', 'neup', 'neuh', 'nyi', 'nyig', 'nyigg', 'nyigs',
+'nyin', 'nyinj', 'nyinh', 'nyid', 'nyil', 'nyilg', 'nyilm', 'nyilb', 'nyils', 
'nyilt', 'nyilp', 'nyilh', 'nyim', 'nyib', 'nyibs', 'nyis',
+'nyiss', 'nying', 'nyij', 'nyic', 'nyik', 'nyit', 'nyip', 'nyih', 'ni', 'nig', 
'nigg', 'nigs', 'nin', 'ninj', 'ninh', 'nid',
+'nil', 'nilg', 'nilm', 'nilb', 'nils', 'nilt', 'nilp', 'nilh', 'nim', 'nib', 
'nibs', 'nis', 'niss', 'ning', 'nij', 'nic',
+'nik', 'nit', 'nip', 'nih', 'da', 'dag', 'dagg', 'dags', 'dan', 'danj', 
'danh', 'dad', 'dal', 'dalg', 'dalm', 'dalb',
+'dals', 'dalt', 'dalp', 'dalh', 'dam', 'dab', 'dabs', 'das', 'dass', 'dang', 
'daj', 'dac', 'dak', 'dat', 'dap', 'dah',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb3.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb3.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb3.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb3.pm       12 Oct 2011 
23:51:11 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb3] = [
+'dae', 'daeg', 'daegg', 'daegs', 'daen', 'daenj', 'daenh', 'daed', 'dael', 
'daelg', 'daelm', 'daelb', 'daels', 'daelt', 'daelp', 'daelh',
+'daem', 'daeb', 'daebs', 'daes', 'daess', 'daeng', 'daej', 'daec', 'daek', 
'daet', 'daep', 'daeh', 'dya', 'dyag', 'dyagg', 'dyags',
+'dyan', 'dyanj', 'dyanh', 'dyad', 'dyal', 'dyalg', 'dyalm', 'dyalb', 'dyals', 
'dyalt', 'dyalp', 'dyalh', 'dyam', 'dyab', 'dyabs', 'dyas',
+'dyass', 'dyang', 'dyaj', 'dyac', 'dyak', 'dyat', 'dyap', 'dyah', 'dyae', 
'dyaeg', 'dyaegg', 'dyaegs', 'dyaen', 'dyaenj', 'dyaenh', 'dyaed',
+'dyael', 'dyaelg', 'dyaelm', 'dyaelb', 'dyaels', 'dyaelt', 'dyaelp', 'dyaelh', 
'dyaem', 'dyaeb', 'dyaebs', 'dyaes', 'dyaess', 'dyaeng', 'dyaej', 'dyaec',
+'dyaek', 'dyaet', 'dyaep', 'dyaeh', 'deo', 'deog', 'deogg', 'deogs', 'deon', 
'deonj', 'deonh', 'deod', 'deol', 'deolg', 'deolm', 'deolb',
+'deols', 'deolt', 'deolp', 'deolh', 'deom', 'deob', 'deobs', 'deos', 'deoss', 
'deong', 'deoj', 'deoc', 'deok', 'deot', 'deop', 'deoh',
+'de', 'deg', 'degg', 'degs', 'den', 'denj', 'denh', 'ded', 'del', 'delg', 
'delm', 'delb', 'dels', 'delt', 'delp', 'delh',
+'dem', 'deb', 'debs', 'des', 'dess', 'deng', 'dej', 'dec', 'dek', 'det', 
'dep', 'deh', 'dyeo', 'dyeog', 'dyeogg', 'dyeogs',
+'dyeon', 'dyeonj', 'dyeonh', 'dyeod', 'dyeol', 'dyeolg', 'dyeolm', 'dyeolb', 
'dyeols', 'dyeolt', 'dyeolp', 'dyeolh', 'dyeom', 'dyeob', 'dyeobs', 'dyeos',
+'dyeoss', 'dyeong', 'dyeoj', 'dyeoc', 'dyeok', 'dyeot', 'dyeop', 'dyeoh', 
'dye', 'dyeg', 'dyegg', 'dyegs', 'dyen', 'dyenj', 'dyenh', 'dyed',
+'dyel', 'dyelg', 'dyelm', 'dyelb', 'dyels', 'dyelt', 'dyelp', 'dyelh', 'dyem', 
'dyeb', 'dyebs', 'dyes', 'dyess', 'dyeng', 'dyej', 'dyec',
+'dyek', 'dyet', 'dyep', 'dyeh', 'do', 'dog', 'dogg', 'dogs', 'don', 'donj', 
'donh', 'dod', 'dol', 'dolg', 'dolm', 'dolb',
+'dols', 'dolt', 'dolp', 'dolh', 'dom', 'dob', 'dobs', 'dos', 'doss', 'dong', 
'doj', 'doc', 'dok', 'dot', 'dop', 'doh',
+'dwa', 'dwag', 'dwagg', 'dwags', 'dwan', 'dwanj', 'dwanh', 'dwad', 'dwal', 
'dwalg', 'dwalm', 'dwalb', 'dwals', 'dwalt', 'dwalp', 'dwalh',
+'dwam', 'dwab', 'dwabs', 'dwas', 'dwass', 'dwang', 'dwaj', 'dwac', 'dwak', 
'dwat', 'dwap', 'dwah', 'dwae', 'dwaeg', 'dwaegg', 'dwaegs',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb4.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb4.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb4.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb4.pm       12 Oct 2011 
23:51:11 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:37 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb4] = [
+'dwaen', 'dwaenj', 'dwaenh', 'dwaed', 'dwael', 'dwaelg', 'dwaelm', 'dwaelb', 
'dwaels', 'dwaelt', 'dwaelp', 'dwaelh', 'dwaem', 'dwaeb', 'dwaebs', 'dwaes',
+'dwaess', 'dwaeng', 'dwaej', 'dwaec', 'dwaek', 'dwaet', 'dwaep', 'dwaeh', 
'doe', 'doeg', 'doegg', 'doegs', 'doen', 'doenj', 'doenh', 'doed',
+'doel', 'doelg', 'doelm', 'doelb', 'doels', 'doelt', 'doelp', 'doelh', 'doem', 
'doeb', 'doebs', 'does', 'doess', 'doeng', 'doej', 'doec',
+'doek', 'doet', 'doep', 'doeh', 'dyo', 'dyog', 'dyogg', 'dyogs', 'dyon', 
'dyonj', 'dyonh', 'dyod', 'dyol', 'dyolg', 'dyolm', 'dyolb',
+'dyols', 'dyolt', 'dyolp', 'dyolh', 'dyom', 'dyob', 'dyobs', 'dyos', 'dyoss', 
'dyong', 'dyoj', 'dyoc', 'dyok', 'dyot', 'dyop', 'dyoh',
+'du', 'dug', 'dugg', 'dugs', 'dun', 'dunj', 'dunh', 'dud', 'dul', 'dulg', 
'dulm', 'dulb', 'duls', 'dult', 'dulp', 'dulh',
+'dum', 'dub', 'dubs', 'dus', 'duss', 'dung', 'duj', 'duc', 'duk', 'dut', 
'dup', 'duh', 'dweo', 'dweog', 'dweogg', 'dweogs',
+'dweon', 'dweonj', 'dweonh', 'dweod', 'dweol', 'dweolg', 'dweolm', 'dweolb', 
'dweols', 'dweolt', 'dweolp', 'dweolh', 'dweom', 'dweob', 'dweobs', 'dweos',
+'dweoss', 'dweong', 'dweoj', 'dweoc', 'dweok', 'dweot', 'dweop', 'dweoh', 
'dwe', 'dweg', 'dwegg', 'dwegs', 'dwen', 'dwenj', 'dwenh', 'dwed',
+'dwel', 'dwelg', 'dwelm', 'dwelb', 'dwels', 'dwelt', 'dwelp', 'dwelh', 'dwem', 
'dweb', 'dwebs', 'dwes', 'dwess', 'dweng', 'dwej', 'dwec',
+'dwek', 'dwet', 'dwep', 'dweh', 'dwi', 'dwig', 'dwigg', 'dwigs', 'dwin', 
'dwinj', 'dwinh', 'dwid', 'dwil', 'dwilg', 'dwilm', 'dwilb',
+'dwils', 'dwilt', 'dwilp', 'dwilh', 'dwim', 'dwib', 'dwibs', 'dwis', 'dwiss', 
'dwing', 'dwij', 'dwic', 'dwik', 'dwit', 'dwip', 'dwih',
+'dyu', 'dyug', 'dyugg', 'dyugs', 'dyun', 'dyunj', 'dyunh', 'dyud', 'dyul', 
'dyulg', 'dyulm', 'dyulb', 'dyuls', 'dyult', 'dyulp', 'dyulh',
+'dyum', 'dyub', 'dyubs', 'dyus', 'dyuss', 'dyung', 'dyuj', 'dyuc', 'dyuk', 
'dyut', 'dyup', 'dyuh', 'deu', 'deug', 'deugg', 'deugs',
+'deun', 'deunj', 'deunh', 'deud', 'deul', 'deulg', 'deulm', 'deulb', 'deuls', 
'deult', 'deulp', 'deulh', 'deum', 'deub', 'deubs', 'deus',
+'deuss', 'deung', 'deuj', 'deuc', 'deuk', 'deut', 'deup', 'deuh', 'dyi', 
'dyig', 'dyigg', 'dyigs', 'dyin', 'dyinj', 'dyinh', 'dyid',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb5.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb5.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb5.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb5.pm       12 Oct 2011 
23:51:12 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:38 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb5] = [
+'dyil', 'dyilg', 'dyilm', 'dyilb', 'dyils', 'dyilt', 'dyilp', 'dyilh', 'dyim', 
'dyib', 'dyibs', 'dyis', 'dyiss', 'dying', 'dyij', 'dyic',
+'dyik', 'dyit', 'dyip', 'dyih', 'di', 'dig', 'digg', 'digs', 'din', 'dinj', 
'dinh', 'did', 'dil', 'dilg', 'dilm', 'dilb',
+'dils', 'dilt', 'dilp', 'dilh', 'dim', 'dib', 'dibs', 'dis', 'diss', 'ding', 
'dij', 'dic', 'dik', 'dit', 'dip', 'dih',
+'dda', 'ddag', 'ddagg', 'ddags', 'ddan', 'ddanj', 'ddanh', 'ddad', 'ddal', 
'ddalg', 'ddalm', 'ddalb', 'ddals', 'ddalt', 'ddalp', 'ddalh',
+'ddam', 'ddab', 'ddabs', 'ddas', 'ddass', 'ddang', 'ddaj', 'ddac', 'ddak', 
'ddat', 'ddap', 'ddah', 'ddae', 'ddaeg', 'ddaegg', 'ddaegs',
+'ddaen', 'ddaenj', 'ddaenh', 'ddaed', 'ddael', 'ddaelg', 'ddaelm', 'ddaelb', 
'ddaels', 'ddaelt', 'ddaelp', 'ddaelh', 'ddaem', 'ddaeb', 'ddaebs', 'ddaes',
+'ddaess', 'ddaeng', 'ddaej', 'ddaec', 'ddaek', 'ddaet', 'ddaep', 'ddaeh', 
'ddya', 'ddyag', 'ddyagg', 'ddyags', 'ddyan', 'ddyanj', 'ddyanh', 'ddyad',
+'ddyal', 'ddyalg', 'ddyalm', 'ddyalb', 'ddyals', 'ddyalt', 'ddyalp', 'ddyalh', 
'ddyam', 'ddyab', 'ddyabs', 'ddyas', 'ddyass', 'ddyang', 'ddyaj', 'ddyac',
+'ddyak', 'ddyat', 'ddyap', 'ddyah', 'ddyae', 'ddyaeg', 'ddyaegg', 'ddyaegs', 
'ddyaen', 'ddyaenj', 'ddyaenh', 'ddyaed', 'ddyael', 'ddyaelg', 'ddyaelm', 
'ddyaelb',
+'ddyaels', 'ddyaelt', 'ddyaelp', 'ddyaelh', 'ddyaem', 'ddyaeb', 'ddyaebs', 
'ddyaes', 'ddyaess', 'ddyaeng', 'ddyaej', 'ddyaec', 'ddyaek', 'ddyaet', 
'ddyaep', 'ddyaeh',
+'ddeo', 'ddeog', 'ddeogg', 'ddeogs', 'ddeon', 'ddeonj', 'ddeonh', 'ddeod', 
'ddeol', 'ddeolg', 'ddeolm', 'ddeolb', 'ddeols', 'ddeolt', 'ddeolp', 'ddeolh',
+'ddeom', 'ddeob', 'ddeobs', 'ddeos', 'ddeoss', 'ddeong', 'ddeoj', 'ddeoc', 
'ddeok', 'ddeot', 'ddeop', 'ddeoh', 'dde', 'ddeg', 'ddegg', 'ddegs',
+'dden', 'ddenj', 'ddenh', 'dded', 'ddel', 'ddelg', 'ddelm', 'ddelb', 'ddels', 
'ddelt', 'ddelp', 'ddelh', 'ddem', 'ddeb', 'ddebs', 'ddes',
+'ddess', 'ddeng', 'ddej', 'ddec', 'ddek', 'ddet', 'ddep', 'ddeh', 'ddyeo', 
'ddyeog', 'ddyeogg', 'ddyeogs', 'ddyeon', 'ddyeonj', 'ddyeonh', 'ddyeod',
+'ddyeol', 'ddyeolg', 'ddyeolm', 'ddyeolb', 'ddyeols', 'ddyeolt', 'ddyeolp', 
'ddyeolh', 'ddyeom', 'ddyeob', 'ddyeobs', 'ddyeos', 'ddyeoss', 'ddyeong', 
'ddyeoj', 'ddyeoc',
+'ddyeok', 'ddyeot', 'ddyeop', 'ddyeoh', 'ddye', 'ddyeg', 'ddyegg', 'ddyegs', 
'ddyen', 'ddyenj', 'ddyenh', 'ddyed', 'ddyel', 'ddyelg', 'ddyelm', 'ddyelb',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb6.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb6.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb6.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb6.pm       12 Oct 2011 
23:51:12 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:38 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb6] = [
+'ddyels', 'ddyelt', 'ddyelp', 'ddyelh', 'ddyem', 'ddyeb', 'ddyebs', 'ddyes', 
'ddyess', 'ddyeng', 'ddyej', 'ddyec', 'ddyek', 'ddyet', 'ddyep', 'ddyeh',
+'ddo', 'ddog', 'ddogg', 'ddogs', 'ddon', 'ddonj', 'ddonh', 'ddod', 'ddol', 
'ddolg', 'ddolm', 'ddolb', 'ddols', 'ddolt', 'ddolp', 'ddolh',
+'ddom', 'ddob', 'ddobs', 'ddos', 'ddoss', 'ddong', 'ddoj', 'ddoc', 'ddok', 
'ddot', 'ddop', 'ddoh', 'ddwa', 'ddwag', 'ddwagg', 'ddwags',
+'ddwan', 'ddwanj', 'ddwanh', 'ddwad', 'ddwal', 'ddwalg', 'ddwalm', 'ddwalb', 
'ddwals', 'ddwalt', 'ddwalp', 'ddwalh', 'ddwam', 'ddwab', 'ddwabs', 'ddwas',
+'ddwass', 'ddwang', 'ddwaj', 'ddwac', 'ddwak', 'ddwat', 'ddwap', 'ddwah', 
'ddwae', 'ddwaeg', 'ddwaegg', 'ddwaegs', 'ddwaen', 'ddwaenj', 'ddwaenh', 
'ddwaed',
+'ddwael', 'ddwaelg', 'ddwaelm', 'ddwaelb', 'ddwaels', 'ddwaelt', 'ddwaelp', 
'ddwaelh', 'ddwaem', 'ddwaeb', 'ddwaebs', 'ddwaes', 'ddwaess', 'ddwaeng', 
'ddwaej', 'ddwaec',
+'ddwaek', 'ddwaet', 'ddwaep', 'ddwaeh', 'ddoe', 'ddoeg', 'ddoegg', 'ddoegs', 
'ddoen', 'ddoenj', 'ddoenh', 'ddoed', 'ddoel', 'ddoelg', 'ddoelm', 'ddoelb',
+'ddoels', 'ddoelt', 'ddoelp', 'ddoelh', 'ddoem', 'ddoeb', 'ddoebs', 'ddoes', 
'ddoess', 'ddoeng', 'ddoej', 'ddoec', 'ddoek', 'ddoet', 'ddoep', 'ddoeh',
+'ddyo', 'ddyog', 'ddyogg', 'ddyogs', 'ddyon', 'ddyonj', 'ddyonh', 'ddyod', 
'ddyol', 'ddyolg', 'ddyolm', 'ddyolb', 'ddyols', 'ddyolt', 'ddyolp', 'ddyolh',
+'ddyom', 'ddyob', 'ddyobs', 'ddyos', 'ddyoss', 'ddyong', 'ddyoj', 'ddyoc', 
'ddyok', 'ddyot', 'ddyop', 'ddyoh', 'ddu', 'ddug', 'ddugg', 'ddugs',
+'ddun', 'ddunj', 'ddunh', 'ddud', 'ddul', 'ddulg', 'ddulm', 'ddulb', 'dduls', 
'ddult', 'ddulp', 'ddulh', 'ddum', 'ddub', 'ddubs', 'ddus',
+'dduss', 'ddung', 'dduj', 'dduc', 'dduk', 'ddut', 'ddup', 'dduh', 'ddweo', 
'ddweog', 'ddweogg', 'ddweogs', 'ddweon', 'ddweonj', 'ddweonh', 'ddweod',
+'ddweol', 'ddweolg', 'ddweolm', 'ddweolb', 'ddweols', 'ddweolt', 'ddweolp', 
'ddweolh', 'ddweom', 'ddweob', 'ddweobs', 'ddweos', 'ddweoss', 'ddweong', 
'ddweoj', 'ddweoc',
+'ddweok', 'ddweot', 'ddweop', 'ddweoh', 'ddwe', 'ddweg', 'ddwegg', 'ddwegs', 
'ddwen', 'ddwenj', 'ddwenh', 'ddwed', 'ddwel', 'ddwelg', 'ddwelm', 'ddwelb',
+'ddwels', 'ddwelt', 'ddwelp', 'ddwelh', 'ddwem', 'ddweb', 'ddwebs', 'ddwes', 
'ddwess', 'ddweng', 'ddwej', 'ddwec', 'ddwek', 'ddwet', 'ddwep', 'ddweh',
+'ddwi', 'ddwig', 'ddwigg', 'ddwigs', 'ddwin', 'ddwinj', 'ddwinh', 'ddwid', 
'ddwil', 'ddwilg', 'ddwilm', 'ddwilb', 'ddwils', 'ddwilt', 'ddwilp', 'ddwilh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb7.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb7.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb7.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb7.pm       12 Oct 2011 
23:51:12 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb7] = [
+'ddwim', 'ddwib', 'ddwibs', 'ddwis', 'ddwiss', 'ddwing', 'ddwij', 'ddwic', 
'ddwik', 'ddwit', 'ddwip', 'ddwih', 'ddyu', 'ddyug', 'ddyugg', 'ddyugs',
+'ddyun', 'ddyunj', 'ddyunh', 'ddyud', 'ddyul', 'ddyulg', 'ddyulm', 'ddyulb', 
'ddyuls', 'ddyult', 'ddyulp', 'ddyulh', 'ddyum', 'ddyub', 'ddyubs', 'ddyus',
+'ddyuss', 'ddyung', 'ddyuj', 'ddyuc', 'ddyuk', 'ddyut', 'ddyup', 'ddyuh', 
'ddeu', 'ddeug', 'ddeugg', 'ddeugs', 'ddeun', 'ddeunj', 'ddeunh', 'ddeud',
+'ddeul', 'ddeulg', 'ddeulm', 'ddeulb', 'ddeuls', 'ddeult', 'ddeulp', 'ddeulh', 
'ddeum', 'ddeub', 'ddeubs', 'ddeus', 'ddeuss', 'ddeung', 'ddeuj', 'ddeuc',
+'ddeuk', 'ddeut', 'ddeup', 'ddeuh', 'ddyi', 'ddyig', 'ddyigg', 'ddyigs', 
'ddyin', 'ddyinj', 'ddyinh', 'ddyid', 'ddyil', 'ddyilg', 'ddyilm', 'ddyilb',
+'ddyils', 'ddyilt', 'ddyilp', 'ddyilh', 'ddyim', 'ddyib', 'ddyibs', 'ddyis', 
'ddyiss', 'ddying', 'ddyij', 'ddyic', 'ddyik', 'ddyit', 'ddyip', 'ddyih',
+'ddi', 'ddig', 'ddigg', 'ddigs', 'ddin', 'ddinj', 'ddinh', 'ddid', 'ddil', 
'ddilg', 'ddilm', 'ddilb', 'ddils', 'ddilt', 'ddilp', 'ddilh',
+'ddim', 'ddib', 'ddibs', 'ddis', 'ddiss', 'dding', 'ddij', 'ddic', 'ddik', 
'ddit', 'ddip', 'ddih', 'ra', 'rag', 'ragg', 'rags',
+'ran', 'ranj', 'ranh', 'rad', 'ral', 'ralg', 'ralm', 'ralb', 'rals', 'ralt', 
'ralp', 'ralh', 'ram', 'rab', 'rabs', 'ras',
+'rass', 'rang', 'raj', 'rac', 'rak', 'rat', 'rap', 'rah', 'rae', 'raeg', 
'raegg', 'raegs', 'raen', 'raenj', 'raenh', 'raed',
+'rael', 'raelg', 'raelm', 'raelb', 'raels', 'raelt', 'raelp', 'raelh', 'raem', 
'raeb', 'raebs', 'raes', 'raess', 'raeng', 'raej', 'raec',
+'raek', 'raet', 'raep', 'raeh', 'rya', 'ryag', 'ryagg', 'ryags', 'ryan', 
'ryanj', 'ryanh', 'ryad', 'ryal', 'ryalg', 'ryalm', 'ryalb',
+'ryals', 'ryalt', 'ryalp', 'ryalh', 'ryam', 'ryab', 'ryabs', 'ryas', 'ryass', 
'ryang', 'ryaj', 'ryac', 'ryak', 'ryat', 'ryap', 'ryah',
+'ryae', 'ryaeg', 'ryaegg', 'ryaegs', 'ryaen', 'ryaenj', 'ryaenh', 'ryaed', 
'ryael', 'ryaelg', 'ryaelm', 'ryaelb', 'ryaels', 'ryaelt', 'ryaelp', 'ryaelh',
+'ryaem', 'ryaeb', 'ryaebs', 'ryaes', 'ryaess', 'ryaeng', 'ryaej', 'ryaec', 
'ryaek', 'ryaet', 'ryaep', 'ryaeh', 'reo', 'reog', 'reogg', 'reogs',
+'reon', 'reonj', 'reonh', 'reod', 'reol', 'reolg', 'reolm', 'reolb', 'reols', 
'reolt', 'reolp', 'reolh', 'reom', 'reob', 'reobs', 'reos',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb8.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb8.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb8.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb8.pm       12 Oct 2011 
23:51:12 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb8] = [
+'reoss', 'reong', 'reoj', 'reoc', 'reok', 'reot', 'reop', 'reoh', 're', 'reg', 
'regg', 'regs', 'ren', 'renj', 'renh', 'red',
+'rel', 'relg', 'relm', 'relb', 'rels', 'relt', 'relp', 'relh', 'rem', 'reb', 
'rebs', 'res', 'ress', 'reng', 'rej', 'rec',
+'rek', 'ret', 'rep', 'reh', 'ryeo', 'ryeog', 'ryeogg', 'ryeogs', 'ryeon', 
'ryeonj', 'ryeonh', 'ryeod', 'ryeol', 'ryeolg', 'ryeolm', 'ryeolb',
+'ryeols', 'ryeolt', 'ryeolp', 'ryeolh', 'ryeom', 'ryeob', 'ryeobs', 'ryeos', 
'ryeoss', 'ryeong', 'ryeoj', 'ryeoc', 'ryeok', 'ryeot', 'ryeop', 'ryeoh',
+'rye', 'ryeg', 'ryegg', 'ryegs', 'ryen', 'ryenj', 'ryenh', 'ryed', 'ryel', 
'ryelg', 'ryelm', 'ryelb', 'ryels', 'ryelt', 'ryelp', 'ryelh',
+'ryem', 'ryeb', 'ryebs', 'ryes', 'ryess', 'ryeng', 'ryej', 'ryec', 'ryek', 
'ryet', 'ryep', 'ryeh', 'ro', 'rog', 'rogg', 'rogs',
+'ron', 'ronj', 'ronh', 'rod', 'rol', 'rolg', 'rolm', 'rolb', 'rols', 'rolt', 
'rolp', 'rolh', 'rom', 'rob', 'robs', 'ros',
+'ross', 'rong', 'roj', 'roc', 'rok', 'rot', 'rop', 'roh', 'rwa', 'rwag', 
'rwagg', 'rwags', 'rwan', 'rwanj', 'rwanh', 'rwad',
+'rwal', 'rwalg', 'rwalm', 'rwalb', 'rwals', 'rwalt', 'rwalp', 'rwalh', 'rwam', 
'rwab', 'rwabs', 'rwas', 'rwass', 'rwang', 'rwaj', 'rwac',
+'rwak', 'rwat', 'rwap', 'rwah', 'rwae', 'rwaeg', 'rwaegg', 'rwaegs', 'rwaen', 
'rwaenj', 'rwaenh', 'rwaed', 'rwael', 'rwaelg', 'rwaelm', 'rwaelb',
+'rwaels', 'rwaelt', 'rwaelp', 'rwaelh', 'rwaem', 'rwaeb', 'rwaebs', 'rwaes', 
'rwaess', 'rwaeng', 'rwaej', 'rwaec', 'rwaek', 'rwaet', 'rwaep', 'rwaeh',
+'roe', 'roeg', 'roegg', 'roegs', 'roen', 'roenj', 'roenh', 'roed', 'roel', 
'roelg', 'roelm', 'roelb', 'roels', 'roelt', 'roelp', 'roelh',
+'roem', 'roeb', 'roebs', 'roes', 'roess', 'roeng', 'roej', 'roec', 'roek', 
'roet', 'roep', 'roeh', 'ryo', 'ryog', 'ryogg', 'ryogs',
+'ryon', 'ryonj', 'ryonh', 'ryod', 'ryol', 'ryolg', 'ryolm', 'ryolb', 'ryols', 
'ryolt', 'ryolp', 'ryolh', 'ryom', 'ryob', 'ryobs', 'ryos',
+'ryoss', 'ryong', 'ryoj', 'ryoc', 'ryok', 'ryot', 'ryop', 'ryoh', 'ru', 'rug', 
'rugg', 'rugs', 'run', 'runj', 'runh', 'rud',
+'rul', 'rulg', 'rulm', 'rulb', 'ruls', 'rult', 'rulp', 'rulh', 'rum', 'rub', 
'rubs', 'rus', 'russ', 'rung', 'ruj', 'ruc',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb9.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb9.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb9.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xb9.pm       12 Oct 2011 
23:51:12 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xb9] = [
+'ruk', 'rut', 'rup', 'ruh', 'rweo', 'rweog', 'rweogg', 'rweogs', 'rweon', 
'rweonj', 'rweonh', 'rweod', 'rweol', 'rweolg', 'rweolm', 'rweolb',
+'rweols', 'rweolt', 'rweolp', 'rweolh', 'rweom', 'rweob', 'rweobs', 'rweos', 
'rweoss', 'rweong', 'rweoj', 'rweoc', 'rweok', 'rweot', 'rweop', 'rweoh',
+'rwe', 'rweg', 'rwegg', 'rwegs', 'rwen', 'rwenj', 'rwenh', 'rwed', 'rwel', 
'rwelg', 'rwelm', 'rwelb', 'rwels', 'rwelt', 'rwelp', 'rwelh',
+'rwem', 'rweb', 'rwebs', 'rwes', 'rwess', 'rweng', 'rwej', 'rwec', 'rwek', 
'rwet', 'rwep', 'rweh', 'rwi', 'rwig', 'rwigg', 'rwigs',
+'rwin', 'rwinj', 'rwinh', 'rwid', 'rwil', 'rwilg', 'rwilm', 'rwilb', 'rwils', 
'rwilt', 'rwilp', 'rwilh', 'rwim', 'rwib', 'rwibs', 'rwis',
+'rwiss', 'rwing', 'rwij', 'rwic', 'rwik', 'rwit', 'rwip', 'rwih', 'ryu', 
'ryug', 'ryugg', 'ryugs', 'ryun', 'ryunj', 'ryunh', 'ryud',
+'ryul', 'ryulg', 'ryulm', 'ryulb', 'ryuls', 'ryult', 'ryulp', 'ryulh', 'ryum', 
'ryub', 'ryubs', 'ryus', 'ryuss', 'ryung', 'ryuj', 'ryuc',
+'ryuk', 'ryut', 'ryup', 'ryuh', 'reu', 'reug', 'reugg', 'reugs', 'reun', 
'reunj', 'reunh', 'reud', 'reul', 'reulg', 'reulm', 'reulb',
+'reuls', 'reult', 'reulp', 'reulh', 'reum', 'reub', 'reubs', 'reus', 'reuss', 
'reung', 'reuj', 'reuc', 'reuk', 'reut', 'reup', 'reuh',
+'ryi', 'ryig', 'ryigg', 'ryigs', 'ryin', 'ryinj', 'ryinh', 'ryid', 'ryil', 
'ryilg', 'ryilm', 'ryilb', 'ryils', 'ryilt', 'ryilp', 'ryilh',
+'ryim', 'ryib', 'ryibs', 'ryis', 'ryiss', 'rying', 'ryij', 'ryic', 'ryik', 
'ryit', 'ryip', 'ryih', 'ri', 'rig', 'rigg', 'rigs',
+'rin', 'rinj', 'rinh', 'rid', 'ril', 'rilg', 'rilm', 'rilb', 'rils', 'rilt', 
'rilp', 'rilh', 'rim', 'rib', 'ribs', 'ris',
+'riss', 'ring', 'rij', 'ric', 'rik', 'rit', 'rip', 'rih', 'ma', 'mag', 'magg', 
'mags', 'man', 'manj', 'manh', 'mad',
+'mal', 'malg', 'malm', 'malb', 'mals', 'malt', 'malp', 'malh', 'mam', 'mab', 
'mabs', 'mas', 'mass', 'mang', 'maj', 'mac',
+'mak', 'mat', 'map', 'mah', 'mae', 'maeg', 'maegg', 'maegs', 'maen', 'maenj', 
'maenh', 'maed', 'mael', 'maelg', 'maelm', 'maelb',
+'maels', 'maelt', 'maelp', 'maelh', 'maem', 'maeb', 'maebs', 'maes', 'maess', 
'maeng', 'maej', 'maec', 'maek', 'maet', 'maep', 'maeh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xba.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xba.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xba.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xba.pm       12 Oct 2011 
23:51:12 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xba] = [
+'mya', 'myag', 'myagg', 'myags', 'myan', 'myanj', 'myanh', 'myad', 'myal', 
'myalg', 'myalm', 'myalb', 'myals', 'myalt', 'myalp', 'myalh',
+'myam', 'myab', 'myabs', 'myas', 'myass', 'myang', 'myaj', 'myac', 'myak', 
'myat', 'myap', 'myah', 'myae', 'myaeg', 'myaegg', 'myaegs',
+'myaen', 'myaenj', 'myaenh', 'myaed', 'myael', 'myaelg', 'myaelm', 'myaelb', 
'myaels', 'myaelt', 'myaelp', 'myaelh', 'myaem', 'myaeb', 'myaebs', 'myaes',
+'myaess', 'myaeng', 'myaej', 'myaec', 'myaek', 'myaet', 'myaep', 'myaeh', 
'meo', 'meog', 'meogg', 'meogs', 'meon', 'meonj', 'meonh', 'meod',
+'meol', 'meolg', 'meolm', 'meolb', 'meols', 'meolt', 'meolp', 'meolh', 'meom', 
'meob', 'meobs', 'meos', 'meoss', 'meong', 'meoj', 'meoc',
+'meok', 'meot', 'meop', 'meoh', 'me', 'meg', 'megg', 'megs', 'men', 'menj', 
'menh', 'med', 'mel', 'melg', 'melm', 'melb',
+'mels', 'melt', 'melp', 'melh', 'mem', 'meb', 'mebs', 'mes', 'mess', 'meng', 
'mej', 'mec', 'mek', 'met', 'mep', 'meh',
+'myeo', 'myeog', 'myeogg', 'myeogs', 'myeon', 'myeonj', 'myeonh', 'myeod', 
'myeol', 'myeolg', 'myeolm', 'myeolb', 'myeols', 'myeolt', 'myeolp', 'myeolh',
+'myeom', 'myeob', 'myeobs', 'myeos', 'myeoss', 'myeong', 'myeoj', 'myeoc', 
'myeok', 'myeot', 'myeop', 'myeoh', 'mye', 'myeg', 'myegg', 'myegs',
+'myen', 'myenj', 'myenh', 'myed', 'myel', 'myelg', 'myelm', 'myelb', 'myels', 
'myelt', 'myelp', 'myelh', 'myem', 'myeb', 'myebs', 'myes',
+'myess', 'myeng', 'myej', 'myec', 'myek', 'myet', 'myep', 'myeh', 'mo', 'mog', 
'mogg', 'mogs', 'mon', 'monj', 'monh', 'mod',
+'mol', 'molg', 'molm', 'molb', 'mols', 'molt', 'molp', 'molh', 'mom', 'mob', 
'mobs', 'mos', 'moss', 'mong', 'moj', 'moc',
+'mok', 'mot', 'mop', 'moh', 'mwa', 'mwag', 'mwagg', 'mwags', 'mwan', 'mwanj', 
'mwanh', 'mwad', 'mwal', 'mwalg', 'mwalm', 'mwalb',
+'mwals', 'mwalt', 'mwalp', 'mwalh', 'mwam', 'mwab', 'mwabs', 'mwas', 'mwass', 
'mwang', 'mwaj', 'mwac', 'mwak', 'mwat', 'mwap', 'mwah',
+'mwae', 'mwaeg', 'mwaegg', 'mwaegs', 'mwaen', 'mwaenj', 'mwaenh', 'mwaed', 
'mwael', 'mwaelg', 'mwaelm', 'mwaelb', 'mwaels', 'mwaelt', 'mwaelp', 'mwaelh',
+'mwaem', 'mwaeb', 'mwaebs', 'mwaes', 'mwaess', 'mwaeng', 'mwaej', 'mwaec', 
'mwaek', 'mwaet', 'mwaep', 'mwaeh', 'moe', 'moeg', 'moegg', 'moegs',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbb.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbb.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbb.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbb.pm       12 Oct 2011 
23:51:12 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xbb] = [
+'moen', 'moenj', 'moenh', 'moed', 'moel', 'moelg', 'moelm', 'moelb', 'moels', 
'moelt', 'moelp', 'moelh', 'moem', 'moeb', 'moebs', 'moes',
+'moess', 'moeng', 'moej', 'moec', 'moek', 'moet', 'moep', 'moeh', 'myo', 
'myog', 'myogg', 'myogs', 'myon', 'myonj', 'myonh', 'myod',
+'myol', 'myolg', 'myolm', 'myolb', 'myols', 'myolt', 'myolp', 'myolh', 'myom', 
'myob', 'myobs', 'myos', 'myoss', 'myong', 'myoj', 'myoc',
+'myok', 'myot', 'myop', 'myoh', 'mu', 'mug', 'mugg', 'mugs', 'mun', 'munj', 
'munh', 'mud', 'mul', 'mulg', 'mulm', 'mulb',
+'muls', 'mult', 'mulp', 'mulh', 'mum', 'mub', 'mubs', 'mus', 'muss', 'mung', 
'muj', 'muc', 'muk', 'mut', 'mup', 'muh',
+'mweo', 'mweog', 'mweogg', 'mweogs', 'mweon', 'mweonj', 'mweonh', 'mweod', 
'mweol', 'mweolg', 'mweolm', 'mweolb', 'mweols', 'mweolt', 'mweolp', 'mweolh',
+'mweom', 'mweob', 'mweobs', 'mweos', 'mweoss', 'mweong', 'mweoj', 'mweoc', 
'mweok', 'mweot', 'mweop', 'mweoh', 'mwe', 'mweg', 'mwegg', 'mwegs',
+'mwen', 'mwenj', 'mwenh', 'mwed', 'mwel', 'mwelg', 'mwelm', 'mwelb', 'mwels', 
'mwelt', 'mwelp', 'mwelh', 'mwem', 'mweb', 'mwebs', 'mwes',
+'mwess', 'mweng', 'mwej', 'mwec', 'mwek', 'mwet', 'mwep', 'mweh', 'mwi', 
'mwig', 'mwigg', 'mwigs', 'mwin', 'mwinj', 'mwinh', 'mwid',
+'mwil', 'mwilg', 'mwilm', 'mwilb', 'mwils', 'mwilt', 'mwilp', 'mwilh', 'mwim', 
'mwib', 'mwibs', 'mwis', 'mwiss', 'mwing', 'mwij', 'mwic',
+'mwik', 'mwit', 'mwip', 'mwih', 'myu', 'myug', 'myugg', 'myugs', 'myun', 
'myunj', 'myunh', 'myud', 'myul', 'myulg', 'myulm', 'myulb',
+'myuls', 'myult', 'myulp', 'myulh', 'myum', 'myub', 'myubs', 'myus', 'myuss', 
'myung', 'myuj', 'myuc', 'myuk', 'myut', 'myup', 'myuh',
+'meu', 'meug', 'meugg', 'meugs', 'meun', 'meunj', 'meunh', 'meud', 'meul', 
'meulg', 'meulm', 'meulb', 'meuls', 'meult', 'meulp', 'meulh',
+'meum', 'meub', 'meubs', 'meus', 'meuss', 'meung', 'meuj', 'meuc', 'meuk', 
'meut', 'meup', 'meuh', 'myi', 'myig', 'myigg', 'myigs',
+'myin', 'myinj', 'myinh', 'myid', 'myil', 'myilg', 'myilm', 'myilb', 'myils', 
'myilt', 'myilp', 'myilh', 'myim', 'myib', 'myibs', 'myis',
+'myiss', 'mying', 'myij', 'myic', 'myik', 'myit', 'myip', 'myih', 'mi', 'mig', 
'migg', 'migs', 'min', 'minj', 'minh', 'mid',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbc.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbc.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbc.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbc.pm       12 Oct 2011 
23:51:13 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xbc] = [
+'mil', 'milg', 'milm', 'milb', 'mils', 'milt', 'milp', 'milh', 'mim', 'mib', 
'mibs', 'mis', 'miss', 'ming', 'mij', 'mic',
+'mik', 'mit', 'mip', 'mih', 'ba', 'bag', 'bagg', 'bags', 'ban', 'banj', 
'banh', 'bad', 'bal', 'balg', 'balm', 'balb',
+'bals', 'balt', 'balp', 'balh', 'bam', 'bab', 'babs', 'bas', 'bass', 'bang', 
'baj', 'bac', 'bak', 'bat', 'bap', 'bah',
+'bae', 'baeg', 'baegg', 'baegs', 'baen', 'baenj', 'baenh', 'baed', 'bael', 
'baelg', 'baelm', 'baelb', 'baels', 'baelt', 'baelp', 'baelh',
+'baem', 'baeb', 'baebs', 'baes', 'baess', 'baeng', 'baej', 'baec', 'baek', 
'baet', 'baep', 'baeh', 'bya', 'byag', 'byagg', 'byags',
+'byan', 'byanj', 'byanh', 'byad', 'byal', 'byalg', 'byalm', 'byalb', 'byals', 
'byalt', 'byalp', 'byalh', 'byam', 'byab', 'byabs', 'byas',
+'byass', 'byang', 'byaj', 'byac', 'byak', 'byat', 'byap', 'byah', 'byae', 
'byaeg', 'byaegg', 'byaegs', 'byaen', 'byaenj', 'byaenh', 'byaed',
+'byael', 'byaelg', 'byaelm', 'byaelb', 'byaels', 'byaelt', 'byaelp', 'byaelh', 
'byaem', 'byaeb', 'byaebs', 'byaes', 'byaess', 'byaeng', 'byaej', 'byaec',
+'byaek', 'byaet', 'byaep', 'byaeh', 'beo', 'beog', 'beogg', 'beogs', 'beon', 
'beonj', 'beonh', 'beod', 'beol', 'beolg', 'beolm', 'beolb',
+'beols', 'beolt', 'beolp', 'beolh', 'beom', 'beob', 'beobs', 'beos', 'beoss', 
'beong', 'beoj', 'beoc', 'beok', 'beot', 'beop', 'beoh',
+'be', 'beg', 'begg', 'begs', 'ben', 'benj', 'benh', 'bed', 'bel', 'belg', 
'belm', 'belb', 'bels', 'belt', 'belp', 'belh',
+'bem', 'beb', 'bebs', 'bes', 'bess', 'beng', 'bej', 'bec', 'bek', 'bet', 
'bep', 'beh', 'byeo', 'byeog', 'byeogg', 'byeogs',
+'byeon', 'byeonj', 'byeonh', 'byeod', 'byeol', 'byeolg', 'byeolm', 'byeolb', 
'byeols', 'byeolt', 'byeolp', 'byeolh', 'byeom', 'byeob', 'byeobs', 'byeos',
+'byeoss', 'byeong', 'byeoj', 'byeoc', 'byeok', 'byeot', 'byeop', 'byeoh', 
'bye', 'byeg', 'byegg', 'byegs', 'byen', 'byenj', 'byenh', 'byed',
+'byel', 'byelg', 'byelm', 'byelb', 'byels', 'byelt', 'byelp', 'byelh', 'byem', 
'byeb', 'byebs', 'byes', 'byess', 'byeng', 'byej', 'byec',
+'byek', 'byet', 'byep', 'byeh', 'bo', 'bog', 'bogg', 'bogs', 'bon', 'bonj', 
'bonh', 'bod', 'bol', 'bolg', 'bolm', 'bolb',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbd.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbd.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbd.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbd.pm       12 Oct 2011 
23:51:13 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xbd] = [
+'bols', 'bolt', 'bolp', 'bolh', 'bom', 'bob', 'bobs', 'bos', 'boss', 'bong', 
'boj', 'boc', 'bok', 'bot', 'bop', 'boh',
+'bwa', 'bwag', 'bwagg', 'bwags', 'bwan', 'bwanj', 'bwanh', 'bwad', 'bwal', 
'bwalg', 'bwalm', 'bwalb', 'bwals', 'bwalt', 'bwalp', 'bwalh',
+'bwam', 'bwab', 'bwabs', 'bwas', 'bwass', 'bwang', 'bwaj', 'bwac', 'bwak', 
'bwat', 'bwap', 'bwah', 'bwae', 'bwaeg', 'bwaegg', 'bwaegs',
+'bwaen', 'bwaenj', 'bwaenh', 'bwaed', 'bwael', 'bwaelg', 'bwaelm', 'bwaelb', 
'bwaels', 'bwaelt', 'bwaelp', 'bwaelh', 'bwaem', 'bwaeb', 'bwaebs', 'bwaes',
+'bwaess', 'bwaeng', 'bwaej', 'bwaec', 'bwaek', 'bwaet', 'bwaep', 'bwaeh', 
'boe', 'boeg', 'boegg', 'boegs', 'boen', 'boenj', 'boenh', 'boed',
+'boel', 'boelg', 'boelm', 'boelb', 'boels', 'boelt', 'boelp', 'boelh', 'boem', 
'boeb', 'boebs', 'boes', 'boess', 'boeng', 'boej', 'boec',
+'boek', 'boet', 'boep', 'boeh', 'byo', 'byog', 'byogg', 'byogs', 'byon', 
'byonj', 'byonh', 'byod', 'byol', 'byolg', 'byolm', 'byolb',
+'byols', 'byolt', 'byolp', 'byolh', 'byom', 'byob', 'byobs', 'byos', 'byoss', 
'byong', 'byoj', 'byoc', 'byok', 'byot', 'byop', 'byoh',
+'bu', 'bug', 'bugg', 'bugs', 'bun', 'bunj', 'bunh', 'bud', 'bul', 'bulg', 
'bulm', 'bulb', 'buls', 'bult', 'bulp', 'bulh',
+'bum', 'bub', 'bubs', 'bus', 'buss', 'bung', 'buj', 'buc', 'buk', 'but', 
'bup', 'buh', 'bweo', 'bweog', 'bweogg', 'bweogs',
+'bweon', 'bweonj', 'bweonh', 'bweod', 'bweol', 'bweolg', 'bweolm', 'bweolb', 
'bweols', 'bweolt', 'bweolp', 'bweolh', 'bweom', 'bweob', 'bweobs', 'bweos',
+'bweoss', 'bweong', 'bweoj', 'bweoc', 'bweok', 'bweot', 'bweop', 'bweoh', 
'bwe', 'bweg', 'bwegg', 'bwegs', 'bwen', 'bwenj', 'bwenh', 'bwed',
+'bwel', 'bwelg', 'bwelm', 'bwelb', 'bwels', 'bwelt', 'bwelp', 'bwelh', 'bwem', 
'bweb', 'bwebs', 'bwes', 'bwess', 'bweng', 'bwej', 'bwec',
+'bwek', 'bwet', 'bwep', 'bweh', 'bwi', 'bwig', 'bwigg', 'bwigs', 'bwin', 
'bwinj', 'bwinh', 'bwid', 'bwil', 'bwilg', 'bwilm', 'bwilb',
+'bwils', 'bwilt', 'bwilp', 'bwilh', 'bwim', 'bwib', 'bwibs', 'bwis', 'bwiss', 
'bwing', 'bwij', 'bwic', 'bwik', 'bwit', 'bwip', 'bwih',
+'byu', 'byug', 'byugg', 'byugs', 'byun', 'byunj', 'byunh', 'byud', 'byul', 
'byulg', 'byulm', 'byulb', 'byuls', 'byult', 'byulp', 'byulh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbe.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbe.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbe.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbe.pm       12 Oct 2011 
23:51:13 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xbe] = [
+'byum', 'byub', 'byubs', 'byus', 'byuss', 'byung', 'byuj', 'byuc', 'byuk', 
'byut', 'byup', 'byuh', 'beu', 'beug', 'beugg', 'beugs',
+'beun', 'beunj', 'beunh', 'beud', 'beul', 'beulg', 'beulm', 'beulb', 'beuls', 
'beult', 'beulp', 'beulh', 'beum', 'beub', 'beubs', 'beus',
+'beuss', 'beung', 'beuj', 'beuc', 'beuk', 'beut', 'beup', 'beuh', 'byi', 
'byig', 'byigg', 'byigs', 'byin', 'byinj', 'byinh', 'byid',
+'byil', 'byilg', 'byilm', 'byilb', 'byils', 'byilt', 'byilp', 'byilh', 'byim', 
'byib', 'byibs', 'byis', 'byiss', 'bying', 'byij', 'byic',
+'byik', 'byit', 'byip', 'byih', 'bi', 'big', 'bigg', 'bigs', 'bin', 'binj', 
'binh', 'bid', 'bil', 'bilg', 'bilm', 'bilb',
+'bils', 'bilt', 'bilp', 'bilh', 'bim', 'bib', 'bibs', 'bis', 'biss', 'bing', 
'bij', 'bic', 'bik', 'bit', 'bip', 'bih',
+'bba', 'bbag', 'bbagg', 'bbags', 'bban', 'bbanj', 'bbanh', 'bbad', 'bbal', 
'bbalg', 'bbalm', 'bbalb', 'bbals', 'bbalt', 'bbalp', 'bbalh',
+'bbam', 'bbab', 'bbabs', 'bbas', 'bbass', 'bbang', 'bbaj', 'bbac', 'bbak', 
'bbat', 'bbap', 'bbah', 'bbae', 'bbaeg', 'bbaegg', 'bbaegs',
+'bbaen', 'bbaenj', 'bbaenh', 'bbaed', 'bbael', 'bbaelg', 'bbaelm', 'bbaelb', 
'bbaels', 'bbaelt', 'bbaelp', 'bbaelh', 'bbaem', 'bbaeb', 'bbaebs', 'bbaes',
+'bbaess', 'bbaeng', 'bbaej', 'bbaec', 'bbaek', 'bbaet', 'bbaep', 'bbaeh', 
'bbya', 'bbyag', 'bbyagg', 'bbyags', 'bbyan', 'bbyanj', 'bbyanh', 'bbyad',
+'bbyal', 'bbyalg', 'bbyalm', 'bbyalb', 'bbyals', 'bbyalt', 'bbyalp', 'bbyalh', 
'bbyam', 'bbyab', 'bbyabs', 'bbyas', 'bbyass', 'bbyang', 'bbyaj', 'bbyac',
+'bbyak', 'bbyat', 'bbyap', 'bbyah', 'bbyae', 'bbyaeg', 'bbyaegg', 'bbyaegs', 
'bbyaen', 'bbyaenj', 'bbyaenh', 'bbyaed', 'bbyael', 'bbyaelg', 'bbyaelm', 
'bbyaelb',
+'bbyaels', 'bbyaelt', 'bbyaelp', 'bbyaelh', 'bbyaem', 'bbyaeb', 'bbyaebs', 
'bbyaes', 'bbyaess', 'bbyaeng', 'bbyaej', 'bbyaec', 'bbyaek', 'bbyaet', 
'bbyaep', 'bbyaeh',
+'bbeo', 'bbeog', 'bbeogg', 'bbeogs', 'bbeon', 'bbeonj', 'bbeonh', 'bbeod', 
'bbeol', 'bbeolg', 'bbeolm', 'bbeolb', 'bbeols', 'bbeolt', 'bbeolp', 'bbeolh',
+'bbeom', 'bbeob', 'bbeobs', 'bbeos', 'bbeoss', 'bbeong', 'bbeoj', 'bbeoc', 
'bbeok', 'bbeot', 'bbeop', 'bbeoh', 'bbe', 'bbeg', 'bbegg', 'bbegs',
+'bben', 'bbenj', 'bbenh', 'bbed', 'bbel', 'bbelg', 'bbelm', 'bbelb', 'bbels', 
'bbelt', 'bbelp', 'bbelh', 'bbem', 'bbeb', 'bbebs', 'bbes',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbf.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbf.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbf.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xbf.pm       12 Oct 2011 
23:51:13 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xbf] = [
+'bbess', 'bbeng', 'bbej', 'bbec', 'bbek', 'bbet', 'bbep', 'bbeh', 'bbyeo', 
'bbyeog', 'bbyeogg', 'bbyeogs', 'bbyeon', 'bbyeonj', 'bbyeonh', 'bbyeod',
+'bbyeol', 'bbyeolg', 'bbyeolm', 'bbyeolb', 'bbyeols', 'bbyeolt', 'bbyeolp', 
'bbyeolh', 'bbyeom', 'bbyeob', 'bbyeobs', 'bbyeos', 'bbyeoss', 'bbyeong', 
'bbyeoj', 'bbyeoc',
+'bbyeok', 'bbyeot', 'bbyeop', 'bbyeoh', 'bbye', 'bbyeg', 'bbyegg', 'bbyegs', 
'bbyen', 'bbyenj', 'bbyenh', 'bbyed', 'bbyel', 'bbyelg', 'bbyelm', 'bbyelb',
+'bbyels', 'bbyelt', 'bbyelp', 'bbyelh', 'bbyem', 'bbyeb', 'bbyebs', 'bbyes', 
'bbyess', 'bbyeng', 'bbyej', 'bbyec', 'bbyek', 'bbyet', 'bbyep', 'bbyeh',
+'bbo', 'bbog', 'bbogg', 'bbogs', 'bbon', 'bbonj', 'bbonh', 'bbod', 'bbol', 
'bbolg', 'bbolm', 'bbolb', 'bbols', 'bbolt', 'bbolp', 'bbolh',
+'bbom', 'bbob', 'bbobs', 'bbos', 'bboss', 'bbong', 'bboj', 'bboc', 'bbok', 
'bbot', 'bbop', 'bboh', 'bbwa', 'bbwag', 'bbwagg', 'bbwags',
+'bbwan', 'bbwanj', 'bbwanh', 'bbwad', 'bbwal', 'bbwalg', 'bbwalm', 'bbwalb', 
'bbwals', 'bbwalt', 'bbwalp', 'bbwalh', 'bbwam', 'bbwab', 'bbwabs', 'bbwas',
+'bbwass', 'bbwang', 'bbwaj', 'bbwac', 'bbwak', 'bbwat', 'bbwap', 'bbwah', 
'bbwae', 'bbwaeg', 'bbwaegg', 'bbwaegs', 'bbwaen', 'bbwaenj', 'bbwaenh', 
'bbwaed',
+'bbwael', 'bbwaelg', 'bbwaelm', 'bbwaelb', 'bbwaels', 'bbwaelt', 'bbwaelp', 
'bbwaelh', 'bbwaem', 'bbwaeb', 'bbwaebs', 'bbwaes', 'bbwaess', 'bbwaeng', 
'bbwaej', 'bbwaec',
+'bbwaek', 'bbwaet', 'bbwaep', 'bbwaeh', 'bboe', 'bboeg', 'bboegg', 'bboegs', 
'bboen', 'bboenj', 'bboenh', 'bboed', 'bboel', 'bboelg', 'bboelm', 'bboelb',
+'bboels', 'bboelt', 'bboelp', 'bboelh', 'bboem', 'bboeb', 'bboebs', 'bboes', 
'bboess', 'bboeng', 'bboej', 'bboec', 'bboek', 'bboet', 'bboep', 'bboeh',
+'bbyo', 'bbyog', 'bbyogg', 'bbyogs', 'bbyon', 'bbyonj', 'bbyonh', 'bbyod', 
'bbyol', 'bbyolg', 'bbyolm', 'bbyolb', 'bbyols', 'bbyolt', 'bbyolp', 'bbyolh',
+'bbyom', 'bbyob', 'bbyobs', 'bbyos', 'bbyoss', 'bbyong', 'bbyoj', 'bbyoc', 
'bbyok', 'bbyot', 'bbyop', 'bbyoh', 'bbu', 'bbug', 'bbugg', 'bbugs',
+'bbun', 'bbunj', 'bbunh', 'bbud', 'bbul', 'bbulg', 'bbulm', 'bbulb', 'bbuls', 
'bbult', 'bbulp', 'bbulh', 'bbum', 'bbub', 'bbubs', 'bbus',
+'bbuss', 'bbung', 'bbuj', 'bbuc', 'bbuk', 'bbut', 'bbup', 'bbuh', 'bbweo', 
'bbweog', 'bbweogg', 'bbweogs', 'bbweon', 'bbweonj', 'bbweonh', 'bbweod',
+'bbweol', 'bbweolg', 'bbweolm', 'bbweolb', 'bbweols', 'bbweolt', 'bbweolp', 
'bbweolh', 'bbweom', 'bbweob', 'bbweobs', 'bbweos', 'bbweoss', 'bbweong', 
'bbweoj', 'bbweoc',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc0.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc0.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc0.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc0.pm       12 Oct 2011 
23:51:13 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:39 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc0] = [
+'bbweok', 'bbweot', 'bbweop', 'bbweoh', 'bbwe', 'bbweg', 'bbwegg', 'bbwegs', 
'bbwen', 'bbwenj', 'bbwenh', 'bbwed', 'bbwel', 'bbwelg', 'bbwelm', 'bbwelb',
+'bbwels', 'bbwelt', 'bbwelp', 'bbwelh', 'bbwem', 'bbweb', 'bbwebs', 'bbwes', 
'bbwess', 'bbweng', 'bbwej', 'bbwec', 'bbwek', 'bbwet', 'bbwep', 'bbweh',
+'bbwi', 'bbwig', 'bbwigg', 'bbwigs', 'bbwin', 'bbwinj', 'bbwinh', 'bbwid', 
'bbwil', 'bbwilg', 'bbwilm', 'bbwilb', 'bbwils', 'bbwilt', 'bbwilp', 'bbwilh',
+'bbwim', 'bbwib', 'bbwibs', 'bbwis', 'bbwiss', 'bbwing', 'bbwij', 'bbwic', 
'bbwik', 'bbwit', 'bbwip', 'bbwih', 'bbyu', 'bbyug', 'bbyugg', 'bbyugs',
+'bbyun', 'bbyunj', 'bbyunh', 'bbyud', 'bbyul', 'bbyulg', 'bbyulm', 'bbyulb', 
'bbyuls', 'bbyult', 'bbyulp', 'bbyulh', 'bbyum', 'bbyub', 'bbyubs', 'bbyus',
+'bbyuss', 'bbyung', 'bbyuj', 'bbyuc', 'bbyuk', 'bbyut', 'bbyup', 'bbyuh', 
'bbeu', 'bbeug', 'bbeugg', 'bbeugs', 'bbeun', 'bbeunj', 'bbeunh', 'bbeud',
+'bbeul', 'bbeulg', 'bbeulm', 'bbeulb', 'bbeuls', 'bbeult', 'bbeulp', 'bbeulh', 
'bbeum', 'bbeub', 'bbeubs', 'bbeus', 'bbeuss', 'bbeung', 'bbeuj', 'bbeuc',
+'bbeuk', 'bbeut', 'bbeup', 'bbeuh', 'bbyi', 'bbyig', 'bbyigg', 'bbyigs', 
'bbyin', 'bbyinj', 'bbyinh', 'bbyid', 'bbyil', 'bbyilg', 'bbyilm', 'bbyilb',
+'bbyils', 'bbyilt', 'bbyilp', 'bbyilh', 'bbyim', 'bbyib', 'bbyibs', 'bbyis', 
'bbyiss', 'bbying', 'bbyij', 'bbyic', 'bbyik', 'bbyit', 'bbyip', 'bbyih',
+'bbi', 'bbig', 'bbigg', 'bbigs', 'bbin', 'bbinj', 'bbinh', 'bbid', 'bbil', 
'bbilg', 'bbilm', 'bbilb', 'bbils', 'bbilt', 'bbilp', 'bbilh',
+'bbim', 'bbib', 'bbibs', 'bbis', 'bbiss', 'bbing', 'bbij', 'bbic', 'bbik', 
'bbit', 'bbip', 'bbih', 'sa', 'sag', 'sagg', 'sags',
+'san', 'sanj', 'sanh', 'sad', 'sal', 'salg', 'salm', 'salb', 'sals', 'salt', 
'salp', 'salh', 'sam', 'sab', 'sabs', 'sas',
+'sass', 'sang', 'saj', 'sac', 'sak', 'sat', 'sap', 'sah', 'sae', 'saeg', 
'saegg', 'saegs', 'saen', 'saenj', 'saenh', 'saed',
+'sael', 'saelg', 'saelm', 'saelb', 'saels', 'saelt', 'saelp', 'saelh', 'saem', 
'saeb', 'saebs', 'saes', 'saess', 'saeng', 'saej', 'saec',
+'saek', 'saet', 'saep', 'saeh', 'sya', 'syag', 'syagg', 'syags', 'syan', 
'syanj', 'syanh', 'syad', 'syal', 'syalg', 'syalm', 'syalb',
+'syals', 'syalt', 'syalp', 'syalh', 'syam', 'syab', 'syabs', 'syas', 'syass', 
'syang', 'syaj', 'syac', 'syak', 'syat', 'syap', 'syah',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc1.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc1.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc1.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc1.pm       12 Oct 2011 
23:51:13 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:40 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc1] = [
+'syae', 'syaeg', 'syaegg', 'syaegs', 'syaen', 'syaenj', 'syaenh', 'syaed', 
'syael', 'syaelg', 'syaelm', 'syaelb', 'syaels', 'syaelt', 'syaelp', 'syaelh',
+'syaem', 'syaeb', 'syaebs', 'syaes', 'syaess', 'syaeng', 'syaej', 'syaec', 
'syaek', 'syaet', 'syaep', 'syaeh', 'seo', 'seog', 'seogg', 'seogs',
+'seon', 'seonj', 'seonh', 'seod', 'seol', 'seolg', 'seolm', 'seolb', 'seols', 
'seolt', 'seolp', 'seolh', 'seom', 'seob', 'seobs', 'seos',
+'seoss', 'seong', 'seoj', 'seoc', 'seok', 'seot', 'seop', 'seoh', 'se', 'seg', 
'segg', 'segs', 'sen', 'senj', 'senh', 'sed',
+'sel', 'selg', 'selm', 'selb', 'sels', 'selt', 'selp', 'selh', 'sem', 'seb', 
'sebs', 'ses', 'sess', 'seng', 'sej', 'sec',
+'sek', 'set', 'sep', 'seh', 'syeo', 'syeog', 'syeogg', 'syeogs', 'syeon', 
'syeonj', 'syeonh', 'syeod', 'syeol', 'syeolg', 'syeolm', 'syeolb',
+'syeols', 'syeolt', 'syeolp', 'syeolh', 'syeom', 'syeob', 'syeobs', 'syeos', 
'syeoss', 'syeong', 'syeoj', 'syeoc', 'syeok', 'syeot', 'syeop', 'syeoh',
+'sye', 'syeg', 'syegg', 'syegs', 'syen', 'syenj', 'syenh', 'syed', 'syel', 
'syelg', 'syelm', 'syelb', 'syels', 'syelt', 'syelp', 'syelh',
+'syem', 'syeb', 'syebs', 'syes', 'syess', 'syeng', 'syej', 'syec', 'syek', 
'syet', 'syep', 'syeh', 'so', 'sog', 'sogg', 'sogs',
+'son', 'sonj', 'sonh', 'sod', 'sol', 'solg', 'solm', 'solb', 'sols', 'solt', 
'solp', 'solh', 'som', 'sob', 'sobs', 'sos',
+'soss', 'song', 'soj', 'soc', 'sok', 'sot', 'sop', 'soh', 'swa', 'swag', 
'swagg', 'swags', 'swan', 'swanj', 'swanh', 'swad',
+'swal', 'swalg', 'swalm', 'swalb', 'swals', 'swalt', 'swalp', 'swalh', 'swam', 
'swab', 'swabs', 'swas', 'swass', 'swang', 'swaj', 'swac',
+'swak', 'swat', 'swap', 'swah', 'swae', 'swaeg', 'swaegg', 'swaegs', 'swaen', 
'swaenj', 'swaenh', 'swaed', 'swael', 'swaelg', 'swaelm', 'swaelb',
+'swaels', 'swaelt', 'swaelp', 'swaelh', 'swaem', 'swaeb', 'swaebs', 'swaes', 
'swaess', 'swaeng', 'swaej', 'swaec', 'swaek', 'swaet', 'swaep', 'swaeh',
+'soe', 'soeg', 'soegg', 'soegs', 'soen', 'soenj', 'soenh', 'soed', 'soel', 
'soelg', 'soelm', 'soelb', 'soels', 'soelt', 'soelp', 'soelh',
+'soem', 'soeb', 'soebs', 'soes', 'soess', 'soeng', 'soej', 'soec', 'soek', 
'soet', 'soep', 'soeh', 'syo', 'syog', 'syogg', 'syogs',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc2.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc2.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc2.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc2.pm       12 Oct 2011 
23:51:13 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:40 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc2] = [
+'syon', 'syonj', 'syonh', 'syod', 'syol', 'syolg', 'syolm', 'syolb', 'syols', 
'syolt', 'syolp', 'syolh', 'syom', 'syob', 'syobs', 'syos',
+'syoss', 'syong', 'syoj', 'syoc', 'syok', 'syot', 'syop', 'syoh', 'su', 'sug', 
'sugg', 'sugs', 'sun', 'sunj', 'sunh', 'sud',
+'sul', 'sulg', 'sulm', 'sulb', 'suls', 'sult', 'sulp', 'sulh', 'sum', 'sub', 
'subs', 'sus', 'suss', 'sung', 'suj', 'suc',
+'suk', 'sut', 'sup', 'suh', 'sweo', 'sweog', 'sweogg', 'sweogs', 'sweon', 
'sweonj', 'sweonh', 'sweod', 'sweol', 'sweolg', 'sweolm', 'sweolb',
+'sweols', 'sweolt', 'sweolp', 'sweolh', 'sweom', 'sweob', 'sweobs', 'sweos', 
'sweoss', 'sweong', 'sweoj', 'sweoc', 'sweok', 'sweot', 'sweop', 'sweoh',
+'swe', 'sweg', 'swegg', 'swegs', 'swen', 'swenj', 'swenh', 'swed', 'swel', 
'swelg', 'swelm', 'swelb', 'swels', 'swelt', 'swelp', 'swelh',
+'swem', 'sweb', 'swebs', 'swes', 'swess', 'sweng', 'swej', 'swec', 'swek', 
'swet', 'swep', 'sweh', 'swi', 'swig', 'swigg', 'swigs',
+'swin', 'swinj', 'swinh', 'swid', 'swil', 'swilg', 'swilm', 'swilb', 'swils', 
'swilt', 'swilp', 'swilh', 'swim', 'swib', 'swibs', 'swis',
+'swiss', 'swing', 'swij', 'swic', 'swik', 'swit', 'swip', 'swih', 'syu', 
'syug', 'syugg', 'syugs', 'syun', 'syunj', 'syunh', 'syud',
+'syul', 'syulg', 'syulm', 'syulb', 'syuls', 'syult', 'syulp', 'syulh', 'syum', 
'syub', 'syubs', 'syus', 'syuss', 'syung', 'syuj', 'syuc',
+'syuk', 'syut', 'syup', 'syuh', 'seu', 'seug', 'seugg', 'seugs', 'seun', 
'seunj', 'seunh', 'seud', 'seul', 'seulg', 'seulm', 'seulb',
+'seuls', 'seult', 'seulp', 'seulh', 'seum', 'seub', 'seubs', 'seus', 'seuss', 
'seung', 'seuj', 'seuc', 'seuk', 'seut', 'seup', 'seuh',
+'syi', 'syig', 'syigg', 'syigs', 'syin', 'syinj', 'syinh', 'syid', 'syil', 
'syilg', 'syilm', 'syilb', 'syils', 'syilt', 'syilp', 'syilh',
+'syim', 'syib', 'syibs', 'syis', 'syiss', 'sying', 'syij', 'syic', 'syik', 
'syit', 'syip', 'syih', 'si', 'sig', 'sigg', 'sigs',
+'sin', 'sinj', 'sinh', 'sid', 'sil', 'silg', 'silm', 'silb', 'sils', 'silt', 
'silp', 'silh', 'sim', 'sib', 'sibs', 'sis',
+'siss', 'sing', 'sij', 'sic', 'sik', 'sit', 'sip', 'sih', 'ssa', 'ssag', 
'ssagg', 'ssags', 'ssan', 'ssanj', 'ssanh', 'ssad',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc3.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc3.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc3.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc3.pm       12 Oct 2011 
23:51:14 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:40 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc3] = [
+'ssal', 'ssalg', 'ssalm', 'ssalb', 'ssals', 'ssalt', 'ssalp', 'ssalh', 'ssam', 
'ssab', 'ssabs', 'ssas', 'ssass', 'ssang', 'ssaj', 'ssac',
+'ssak', 'ssat', 'ssap', 'ssah', 'ssae', 'ssaeg', 'ssaegg', 'ssaegs', 'ssaen', 
'ssaenj', 'ssaenh', 'ssaed', 'ssael', 'ssaelg', 'ssaelm', 'ssaelb',
+'ssaels', 'ssaelt', 'ssaelp', 'ssaelh', 'ssaem', 'ssaeb', 'ssaebs', 'ssaes', 
'ssaess', 'ssaeng', 'ssaej', 'ssaec', 'ssaek', 'ssaet', 'ssaep', 'ssaeh',
+'ssya', 'ssyag', 'ssyagg', 'ssyags', 'ssyan', 'ssyanj', 'ssyanh', 'ssyad', 
'ssyal', 'ssyalg', 'ssyalm', 'ssyalb', 'ssyals', 'ssyalt', 'ssyalp', 'ssyalh',
+'ssyam', 'ssyab', 'ssyabs', 'ssyas', 'ssyass', 'ssyang', 'ssyaj', 'ssyac', 
'ssyak', 'ssyat', 'ssyap', 'ssyah', 'ssyae', 'ssyaeg', 'ssyaegg', 'ssyaegs',
+'ssyaen', 'ssyaenj', 'ssyaenh', 'ssyaed', 'ssyael', 'ssyaelg', 'ssyaelm', 
'ssyaelb', 'ssyaels', 'ssyaelt', 'ssyaelp', 'ssyaelh', 'ssyaem', 'ssyaeb', 
'ssyaebs', 'ssyaes',
+'ssyaess', 'ssyaeng', 'ssyaej', 'ssyaec', 'ssyaek', 'ssyaet', 'ssyaep', 
'ssyaeh', 'sseo', 'sseog', 'sseogg', 'sseogs', 'sseon', 'sseonj', 'sseonh', 
'sseod',
+'sseol', 'sseolg', 'sseolm', 'sseolb', 'sseols', 'sseolt', 'sseolp', 'sseolh', 
'sseom', 'sseob', 'sseobs', 'sseos', 'sseoss', 'sseong', 'sseoj', 'sseoc',
+'sseok', 'sseot', 'sseop', 'sseoh', 'sse', 'sseg', 'ssegg', 'ssegs', 'ssen', 
'ssenj', 'ssenh', 'ssed', 'ssel', 'sselg', 'sselm', 'sselb',
+'ssels', 'sselt', 'sselp', 'sselh', 'ssem', 'sseb', 'ssebs', 'sses', 'ssess', 
'sseng', 'ssej', 'ssec', 'ssek', 'sset', 'ssep', 'sseh',
+'ssyeo', 'ssyeog', 'ssyeogg', 'ssyeogs', 'ssyeon', 'ssyeonj', 'ssyeonh', 
'ssyeod', 'ssyeol', 'ssyeolg', 'ssyeolm', 'ssyeolb', 'ssyeols', 'ssyeolt', 
'ssyeolp', 'ssyeolh',
+'ssyeom', 'ssyeob', 'ssyeobs', 'ssyeos', 'ssyeoss', 'ssyeong', 'ssyeoj', 
'ssyeoc', 'ssyeok', 'ssyeot', 'ssyeop', 'ssyeoh', 'ssye', 'ssyeg', 'ssyegg', 
'ssyegs',
+'ssyen', 'ssyenj', 'ssyenh', 'ssyed', 'ssyel', 'ssyelg', 'ssyelm', 'ssyelb', 
'ssyels', 'ssyelt', 'ssyelp', 'ssyelh', 'ssyem', 'ssyeb', 'ssyebs', 'ssyes',
+'ssyess', 'ssyeng', 'ssyej', 'ssyec', 'ssyek', 'ssyet', 'ssyep', 'ssyeh', 
'sso', 'ssog', 'ssogg', 'ssogs', 'sson', 'ssonj', 'ssonh', 'ssod',
+'ssol', 'ssolg', 'ssolm', 'ssolb', 'ssols', 'ssolt', 'ssolp', 'ssolh', 'ssom', 
'ssob', 'ssobs', 'ssos', 'ssoss', 'ssong', 'ssoj', 'ssoc',
+'ssok', 'ssot', 'ssop', 'ssoh', 'sswa', 'sswag', 'sswagg', 'sswags', 'sswan', 
'sswanj', 'sswanh', 'sswad', 'sswal', 'sswalg', 'sswalm', 'sswalb',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc4.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc4.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc4.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc4.pm       12 Oct 2011 
23:51:14 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:40 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc4] = [
+'sswals', 'sswalt', 'sswalp', 'sswalh', 'sswam', 'sswab', 'sswabs', 'sswas', 
'sswass', 'sswang', 'sswaj', 'sswac', 'sswak', 'sswat', 'sswap', 'sswah',
+'sswae', 'sswaeg', 'sswaegg', 'sswaegs', 'sswaen', 'sswaenj', 'sswaenh', 
'sswaed', 'sswael', 'sswaelg', 'sswaelm', 'sswaelb', 'sswaels', 'sswaelt', 
'sswaelp', 'sswaelh',
+'sswaem', 'sswaeb', 'sswaebs', 'sswaes', 'sswaess', 'sswaeng', 'sswaej', 
'sswaec', 'sswaek', 'sswaet', 'sswaep', 'sswaeh', 'ssoe', 'ssoeg', 'ssoegg', 
'ssoegs',
+'ssoen', 'ssoenj', 'ssoenh', 'ssoed', 'ssoel', 'ssoelg', 'ssoelm', 'ssoelb', 
'ssoels', 'ssoelt', 'ssoelp', 'ssoelh', 'ssoem', 'ssoeb', 'ssoebs', 'ssoes',
+'ssoess', 'ssoeng', 'ssoej', 'ssoec', 'ssoek', 'ssoet', 'ssoep', 'ssoeh', 
'ssyo', 'ssyog', 'ssyogg', 'ssyogs', 'ssyon', 'ssyonj', 'ssyonh', 'ssyod',
+'ssyol', 'ssyolg', 'ssyolm', 'ssyolb', 'ssyols', 'ssyolt', 'ssyolp', 'ssyolh', 
'ssyom', 'ssyob', 'ssyobs', 'ssyos', 'ssyoss', 'ssyong', 'ssyoj', 'ssyoc',
+'ssyok', 'ssyot', 'ssyop', 'ssyoh', 'ssu', 'ssug', 'ssugg', 'ssugs', 'ssun', 
'ssunj', 'ssunh', 'ssud', 'ssul', 'ssulg', 'ssulm', 'ssulb',
+'ssuls', 'ssult', 'ssulp', 'ssulh', 'ssum', 'ssub', 'ssubs', 'ssus', 'ssuss', 
'ssung', 'ssuj', 'ssuc', 'ssuk', 'ssut', 'ssup', 'ssuh',
+'ssweo', 'ssweog', 'ssweogg', 'ssweogs', 'ssweon', 'ssweonj', 'ssweonh', 
'ssweod', 'ssweol', 'ssweolg', 'ssweolm', 'ssweolb', 'ssweols', 'ssweolt', 
'ssweolp', 'ssweolh',
+'ssweom', 'ssweob', 'ssweobs', 'ssweos', 'ssweoss', 'ssweong', 'ssweoj', 
'ssweoc', 'ssweok', 'ssweot', 'ssweop', 'ssweoh', 'sswe', 'ssweg', 'sswegg', 
'sswegs',
+'sswen', 'sswenj', 'sswenh', 'sswed', 'sswel', 'sswelg', 'sswelm', 'sswelb', 
'sswels', 'sswelt', 'sswelp', 'sswelh', 'sswem', 'ssweb', 'sswebs', 'sswes',
+'sswess', 'ssweng', 'sswej', 'sswec', 'sswek', 'sswet', 'sswep', 'ssweh', 
'sswi', 'sswig', 'sswigg', 'sswigs', 'sswin', 'sswinj', 'sswinh', 'sswid',
+'sswil', 'sswilg', 'sswilm', 'sswilb', 'sswils', 'sswilt', 'sswilp', 'sswilh', 
'sswim', 'sswib', 'sswibs', 'sswis', 'sswiss', 'sswing', 'sswij', 'sswic',
+'sswik', 'sswit', 'sswip', 'sswih', 'ssyu', 'ssyug', 'ssyugg', 'ssyugs', 
'ssyun', 'ssyunj', 'ssyunh', 'ssyud', 'ssyul', 'ssyulg', 'ssyulm', 'ssyulb',
+'ssyuls', 'ssyult', 'ssyulp', 'ssyulh', 'ssyum', 'ssyub', 'ssyubs', 'ssyus', 
'ssyuss', 'ssyung', 'ssyuj', 'ssyuc', 'ssyuk', 'ssyut', 'ssyup', 'ssyuh',
+'sseu', 'sseug', 'sseugg', 'sseugs', 'sseun', 'sseunj', 'sseunh', 'sseud', 
'sseul', 'sseulg', 'sseulm', 'sseulb', 'sseuls', 'sseult', 'sseulp', 'sseulh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc5.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc5.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc5.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc5.pm       12 Oct 2011 
23:51:14 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:40 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc5] = [
+'sseum', 'sseub', 'sseubs', 'sseus', 'sseuss', 'sseung', 'sseuj', 'sseuc', 
'sseuk', 'sseut', 'sseup', 'sseuh', 'ssyi', 'ssyig', 'ssyigg', 'ssyigs',
+'ssyin', 'ssyinj', 'ssyinh', 'ssyid', 'ssyil', 'ssyilg', 'ssyilm', 'ssyilb', 
'ssyils', 'ssyilt', 'ssyilp', 'ssyilh', 'ssyim', 'ssyib', 'ssyibs', 'ssyis',
+'ssyiss', 'ssying', 'ssyij', 'ssyic', 'ssyik', 'ssyit', 'ssyip', 'ssyih', 
'ssi', 'ssig', 'ssigg', 'ssigs', 'ssin', 'ssinj', 'ssinh', 'ssid',
+'ssil', 'ssilg', 'ssilm', 'ssilb', 'ssils', 'ssilt', 'ssilp', 'ssilh', 'ssim', 
'ssib', 'ssibs', 'ssis', 'ssiss', 'ssing', 'ssij', 'ssic',
+'ssik', 'ssit', 'ssip', 'ssih', 'a', 'ag', 'agg', 'ags', 'an', 'anj', 'anh', 
'ad', 'al', 'alg', 'alm', 'alb',
+'als', 'alt', 'alp', 'alh', 'am', 'ab', 'abs', 'as', 'ass', 'ang', 'aj', 'ac', 
'ak', 'at', 'ap', 'ah',
+'ae', 'aeg', 'aegg', 'aegs', 'aen', 'aenj', 'aenh', 'aed', 'ael', 'aelg', 
'aelm', 'aelb', 'aels', 'aelt', 'aelp', 'aelh',
+'aem', 'aeb', 'aebs', 'aes', 'aess', 'aeng', 'aej', 'aec', 'aek', 'aet', 
'aep', 'aeh', 'ya', 'yag', 'yagg', 'yags',
+'yan', 'yanj', 'yanh', 'yad', 'yal', 'yalg', 'yalm', 'yalb', 'yals', 'yalt', 
'yalp', 'yalh', 'yam', 'yab', 'yabs', 'yas',
+'yass', 'yang', 'yaj', 'yac', 'yak', 'yat', 'yap', 'yah', 'yae', 'yaeg', 
'yaegg', 'yaegs', 'yaen', 'yaenj', 'yaenh', 'yaed',
+'yael', 'yaelg', 'yaelm', 'yaelb', 'yaels', 'yaelt', 'yaelp', 'yaelh', 'yaem', 
'yaeb', 'yaebs', 'yaes', 'yaess', 'yaeng', 'yaej', 'yaec',
+'yaek', 'yaet', 'yaep', 'yaeh', 'eo', 'eog', 'eogg', 'eogs', 'eon', 'eonj', 
'eonh', 'eod', 'eol', 'eolg', 'eolm', 'eolb',
+'eols', 'eolt', 'eolp', 'eolh', 'eom', 'eob', 'eobs', 'eos', 'eoss', 'eong', 
'eoj', 'eoc', 'eok', 'eot', 'eop', 'eoh',
+'e', 'eg', 'egg', 'egs', 'en', 'enj', 'enh', 'ed', 'el', 'elg', 'elm', 'elb', 
'els', 'elt', 'elp', 'elh',
+'em', 'eb', 'ebs', 'es', 'ess', 'eng', 'ej', 'ec', 'ek', 'et', 'ep', 'eh', 
'yeo', 'yeog', 'yeogg', 'yeogs',
+'yeon', 'yeonj', 'yeonh', 'yeod', 'yeol', 'yeolg', 'yeolm', 'yeolb', 'yeols', 
'yeolt', 'yeolp', 'yeolh', 'yeom', 'yeob', 'yeobs', 'yeos',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc6.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc6.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc6.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc6.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:40 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc6] = [
+'yeoss', 'yeong', 'yeoj', 'yeoc', 'yeok', 'yeot', 'yeop', 'yeoh', 'ye', 'yeg', 
'yegg', 'yegs', 'yen', 'yenj', 'yenh', 'yed',
+'yel', 'yelg', 'yelm', 'yelb', 'yels', 'yelt', 'yelp', 'yelh', 'yem', 'yeb', 
'yebs', 'yes', 'yess', 'yeng', 'yej', 'yec',
+'yek', 'yet', 'yep', 'yeh', 'o', 'og', 'ogg', 'ogs', 'on', 'onj', 'onh', 'od', 
'ol', 'olg', 'olm', 'olb',
+'ols', 'olt', 'olp', 'olh', 'om', 'ob', 'obs', 'os', 'oss', 'ong', 'oj', 'oc', 
'ok', 'ot', 'op', 'oh',
+'wa', 'wag', 'wagg', 'wags', 'wan', 'wanj', 'wanh', 'wad', 'wal', 'walg', 
'walm', 'walb', 'wals', 'walt', 'walp', 'walh',
+'wam', 'wab', 'wabs', 'was', 'wass', 'wang', 'waj', 'wac', 'wak', 'wat', 
'wap', 'wah', 'wae', 'waeg', 'waegg', 'waegs',
+'waen', 'waenj', 'waenh', 'waed', 'wael', 'waelg', 'waelm', 'waelb', 'waels', 
'waelt', 'waelp', 'waelh', 'waem', 'waeb', 'waebs', 'waes',
+'waess', 'waeng', 'waej', 'waec', 'waek', 'waet', 'waep', 'waeh', 'oe', 'oeg', 
'oegg', 'oegs', 'oen', 'oenj', 'oenh', 'oed',
+'oel', 'oelg', 'oelm', 'oelb', 'oels', 'oelt', 'oelp', 'oelh', 'oem', 'oeb', 
'oebs', 'oes', 'oess', 'oeng', 'oej', 'oec',
+'oek', 'oet', 'oep', 'oeh', 'yo', 'yog', 'yogg', 'yogs', 'yon', 'yonj', 
'yonh', 'yod', 'yol', 'yolg', 'yolm', 'yolb',
+'yols', 'yolt', 'yolp', 'yolh', 'yom', 'yob', 'yobs', 'yos', 'yoss', 'yong', 
'yoj', 'yoc', 'yok', 'yot', 'yop', 'yoh',
+'u', 'ug', 'ugg', 'ugs', 'un', 'unj', 'unh', 'ud', 'ul', 'ulg', 'ulm', 'ulb', 
'uls', 'ult', 'ulp', 'ulh',
+'um', 'ub', 'ubs', 'us', 'uss', 'ung', 'uj', 'uc', 'uk', 'ut', 'up', 'uh', 
'weo', 'weog', 'weogg', 'weogs',
+'weon', 'weonj', 'weonh', 'weod', 'weol', 'weolg', 'weolm', 'weolb', 'weols', 
'weolt', 'weolp', 'weolh', 'weom', 'weob', 'weobs', 'weos',
+'weoss', 'weong', 'weoj', 'weoc', 'weok', 'weot', 'weop', 'weoh', 'we', 'weg', 
'wegg', 'wegs', 'wen', 'wenj', 'wenh', 'wed',
+'wel', 'welg', 'welm', 'welb', 'wels', 'welt', 'welp', 'welh', 'wem', 'web', 
'webs', 'wes', 'wess', 'weng', 'wej', 'wec',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc7.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc7.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc7.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc7.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:41 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc7] = [
+'wek', 'wet', 'wep', 'weh', 'wi', 'wig', 'wigg', 'wigs', 'win', 'winj', 
'winh', 'wid', 'wil', 'wilg', 'wilm', 'wilb',
+'wils', 'wilt', 'wilp', 'wilh', 'wim', 'wib', 'wibs', 'wis', 'wiss', 'wing', 
'wij', 'wic', 'wik', 'wit', 'wip', 'wih',
+'yu', 'yug', 'yugg', 'yugs', 'yun', 'yunj', 'yunh', 'yud', 'yul', 'yulg', 
'yulm', 'yulb', 'yuls', 'yult', 'yulp', 'yulh',
+'yum', 'yub', 'yubs', 'yus', 'yuss', 'yung', 'yuj', 'yuc', 'yuk', 'yut', 
'yup', 'yuh', 'eu', 'eug', 'eugg', 'eugs',
+'eun', 'eunj', 'eunh', 'eud', 'eul', 'eulg', 'eulm', 'eulb', 'euls', 'eult', 
'eulp', 'eulh', 'eum', 'eub', 'eubs', 'eus',
+'euss', 'eung', 'euj', 'euc', 'euk', 'eut', 'eup', 'euh', 'yi', 'yig', 'yigg', 
'yigs', 'yin', 'yinj', 'yinh', 'yid',
+'yil', 'yilg', 'yilm', 'yilb', 'yils', 'yilt', 'yilp', 'yilh', 'yim', 'yib', 
'yibs', 'yis', 'yiss', 'ying', 'yij', 'yic',
+'yik', 'yit', 'yip', 'yih', 'i', 'ig', 'igg', 'igs', 'in', 'inj', 'inh', 'id', 
'il', 'ilg', 'ilm', 'ilb',
+'ils', 'ilt', 'ilp', 'ilh', 'im', 'ib', 'ibs', 'is', 'iss', 'ing', 'ij', 'ic', 
'ik', 'it', 'ip', 'ih',
+'ja', 'jag', 'jagg', 'jags', 'jan', 'janj', 'janh', 'jad', 'jal', 'jalg', 
'jalm', 'jalb', 'jals', 'jalt', 'jalp', 'jalh',
+'jam', 'jab', 'jabs', 'jas', 'jass', 'jang', 'jaj', 'jac', 'jak', 'jat', 
'jap', 'jah', 'jae', 'jaeg', 'jaegg', 'jaegs',
+'jaen', 'jaenj', 'jaenh', 'jaed', 'jael', 'jaelg', 'jaelm', 'jaelb', 'jaels', 
'jaelt', 'jaelp', 'jaelh', 'jaem', 'jaeb', 'jaebs', 'jaes',
+'jaess', 'jaeng', 'jaej', 'jaec', 'jaek', 'jaet', 'jaep', 'jaeh', 'jya', 
'jyag', 'jyagg', 'jyags', 'jyan', 'jyanj', 'jyanh', 'jyad',
+'jyal', 'jyalg', 'jyalm', 'jyalb', 'jyals', 'jyalt', 'jyalp', 'jyalh', 'jyam', 
'jyab', 'jyabs', 'jyas', 'jyass', 'jyang', 'jyaj', 'jyac',
+'jyak', 'jyat', 'jyap', 'jyah', 'jyae', 'jyaeg', 'jyaegg', 'jyaegs', 'jyaen', 
'jyaenj', 'jyaenh', 'jyaed', 'jyael', 'jyaelg', 'jyaelm', 'jyaelb',
+'jyaels', 'jyaelt', 'jyaelp', 'jyaelh', 'jyaem', 'jyaeb', 'jyaebs', 'jyaes', 
'jyaess', 'jyaeng', 'jyaej', 'jyaec', 'jyaek', 'jyaet', 'jyaep', 'jyaeh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc8.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc8.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc8.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc8.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:41 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc8] = [
+'jeo', 'jeog', 'jeogg', 'jeogs', 'jeon', 'jeonj', 'jeonh', 'jeod', 'jeol', 
'jeolg', 'jeolm', 'jeolb', 'jeols', 'jeolt', 'jeolp', 'jeolh',
+'jeom', 'jeob', 'jeobs', 'jeos', 'jeoss', 'jeong', 'jeoj', 'jeoc', 'jeok', 
'jeot', 'jeop', 'jeoh', 'je', 'jeg', 'jegg', 'jegs',
+'jen', 'jenj', 'jenh', 'jed', 'jel', 'jelg', 'jelm', 'jelb', 'jels', 'jelt', 
'jelp', 'jelh', 'jem', 'jeb', 'jebs', 'jes',
+'jess', 'jeng', 'jej', 'jec', 'jek', 'jet', 'jep', 'jeh', 'jyeo', 'jyeog', 
'jyeogg', 'jyeogs', 'jyeon', 'jyeonj', 'jyeonh', 'jyeod',
+'jyeol', 'jyeolg', 'jyeolm', 'jyeolb', 'jyeols', 'jyeolt', 'jyeolp', 'jyeolh', 
'jyeom', 'jyeob', 'jyeobs', 'jyeos', 'jyeoss', 'jyeong', 'jyeoj', 'jyeoc',
+'jyeok', 'jyeot', 'jyeop', 'jyeoh', 'jye', 'jyeg', 'jyegg', 'jyegs', 'jyen', 
'jyenj', 'jyenh', 'jyed', 'jyel', 'jyelg', 'jyelm', 'jyelb',
+'jyels', 'jyelt', 'jyelp', 'jyelh', 'jyem', 'jyeb', 'jyebs', 'jyes', 'jyess', 
'jyeng', 'jyej', 'jyec', 'jyek', 'jyet', 'jyep', 'jyeh',
+'jo', 'jog', 'jogg', 'jogs', 'jon', 'jonj', 'jonh', 'jod', 'jol', 'jolg', 
'jolm', 'jolb', 'jols', 'jolt', 'jolp', 'jolh',
+'jom', 'job', 'jobs', 'jos', 'joss', 'jong', 'joj', 'joc', 'jok', 'jot', 
'jop', 'joh', 'jwa', 'jwag', 'jwagg', 'jwags',
+'jwan', 'jwanj', 'jwanh', 'jwad', 'jwal', 'jwalg', 'jwalm', 'jwalb', 'jwals', 
'jwalt', 'jwalp', 'jwalh', 'jwam', 'jwab', 'jwabs', 'jwas',
+'jwass', 'jwang', 'jwaj', 'jwac', 'jwak', 'jwat', 'jwap', 'jwah', 'jwae', 
'jwaeg', 'jwaegg', 'jwaegs', 'jwaen', 'jwaenj', 'jwaenh', 'jwaed',
+'jwael', 'jwaelg', 'jwaelm', 'jwaelb', 'jwaels', 'jwaelt', 'jwaelp', 'jwaelh', 
'jwaem', 'jwaeb', 'jwaebs', 'jwaes', 'jwaess', 'jwaeng', 'jwaej', 'jwaec',
+'jwaek', 'jwaet', 'jwaep', 'jwaeh', 'joe', 'joeg', 'joegg', 'joegs', 'joen', 
'joenj', 'joenh', 'joed', 'joel', 'joelg', 'joelm', 'joelb',
+'joels', 'joelt', 'joelp', 'joelh', 'joem', 'joeb', 'joebs', 'joes', 'joess', 
'joeng', 'joej', 'joec', 'joek', 'joet', 'joep', 'joeh',
+'jyo', 'jyog', 'jyogg', 'jyogs', 'jyon', 'jyonj', 'jyonh', 'jyod', 'jyol', 
'jyolg', 'jyolm', 'jyolb', 'jyols', 'jyolt', 'jyolp', 'jyolh',
+'jyom', 'jyob', 'jyobs', 'jyos', 'jyoss', 'jyong', 'jyoj', 'jyoc', 'jyok', 
'jyot', 'jyop', 'jyoh', 'ju', 'jug', 'jugg', 'jugs',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc9.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc9.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc9.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xc9.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:41 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xc9] = [
+'jun', 'junj', 'junh', 'jud', 'jul', 'julg', 'julm', 'julb', 'juls', 'jult', 
'julp', 'julh', 'jum', 'jub', 'jubs', 'jus',
+'juss', 'jung', 'juj', 'juc', 'juk', 'jut', 'jup', 'juh', 'jweo', 'jweog', 
'jweogg', 'jweogs', 'jweon', 'jweonj', 'jweonh', 'jweod',
+'jweol', 'jweolg', 'jweolm', 'jweolb', 'jweols', 'jweolt', 'jweolp', 'jweolh', 
'jweom', 'jweob', 'jweobs', 'jweos', 'jweoss', 'jweong', 'jweoj', 'jweoc',
+'jweok', 'jweot', 'jweop', 'jweoh', 'jwe', 'jweg', 'jwegg', 'jwegs', 'jwen', 
'jwenj', 'jwenh', 'jwed', 'jwel', 'jwelg', 'jwelm', 'jwelb',
+'jwels', 'jwelt', 'jwelp', 'jwelh', 'jwem', 'jweb', 'jwebs', 'jwes', 'jwess', 
'jweng', 'jwej', 'jwec', 'jwek', 'jwet', 'jwep', 'jweh',
+'jwi', 'jwig', 'jwigg', 'jwigs', 'jwin', 'jwinj', 'jwinh', 'jwid', 'jwil', 
'jwilg', 'jwilm', 'jwilb', 'jwils', 'jwilt', 'jwilp', 'jwilh',
+'jwim', 'jwib', 'jwibs', 'jwis', 'jwiss', 'jwing', 'jwij', 'jwic', 'jwik', 
'jwit', 'jwip', 'jwih', 'jyu', 'jyug', 'jyugg', 'jyugs',
+'jyun', 'jyunj', 'jyunh', 'jyud', 'jyul', 'jyulg', 'jyulm', 'jyulb', 'jyuls', 
'jyult', 'jyulp', 'jyulh', 'jyum', 'jyub', 'jyubs', 'jyus',
+'jyuss', 'jyung', 'jyuj', 'jyuc', 'jyuk', 'jyut', 'jyup', 'jyuh', 'jeu', 
'jeug', 'jeugg', 'jeugs', 'jeun', 'jeunj', 'jeunh', 'jeud',
+'jeul', 'jeulg', 'jeulm', 'jeulb', 'jeuls', 'jeult', 'jeulp', 'jeulh', 'jeum', 
'jeub', 'jeubs', 'jeus', 'jeuss', 'jeung', 'jeuj', 'jeuc',
+'jeuk', 'jeut', 'jeup', 'jeuh', 'jyi', 'jyig', 'jyigg', 'jyigs', 'jyin', 
'jyinj', 'jyinh', 'jyid', 'jyil', 'jyilg', 'jyilm', 'jyilb',
+'jyils', 'jyilt', 'jyilp', 'jyilh', 'jyim', 'jyib', 'jyibs', 'jyis', 'jyiss', 
'jying', 'jyij', 'jyic', 'jyik', 'jyit', 'jyip', 'jyih',
+'ji', 'jig', 'jigg', 'jigs', 'jin', 'jinj', 'jinh', 'jid', 'jil', 'jilg', 
'jilm', 'jilb', 'jils', 'jilt', 'jilp', 'jilh',
+'jim', 'jib', 'jibs', 'jis', 'jiss', 'jing', 'jij', 'jic', 'jik', 'jit', 
'jip', 'jih', 'jja', 'jjag', 'jjagg', 'jjags',
+'jjan', 'jjanj', 'jjanh', 'jjad', 'jjal', 'jjalg', 'jjalm', 'jjalb', 'jjals', 
'jjalt', 'jjalp', 'jjalh', 'jjam', 'jjab', 'jjabs', 'jjas',
+'jjass', 'jjang', 'jjaj', 'jjac', 'jjak', 'jjat', 'jjap', 'jjah', 'jjae', 
'jjaeg', 'jjaegg', 'jjaegs', 'jjaen', 'jjaenj', 'jjaenh', 'jjaed',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xca.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xca.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xca.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xca.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:41 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xca] = [
+'jjael', 'jjaelg', 'jjaelm', 'jjaelb', 'jjaels', 'jjaelt', 'jjaelp', 'jjaelh', 
'jjaem', 'jjaeb', 'jjaebs', 'jjaes', 'jjaess', 'jjaeng', 'jjaej', 'jjaec',
+'jjaek', 'jjaet', 'jjaep', 'jjaeh', 'jjya', 'jjyag', 'jjyagg', 'jjyags', 
'jjyan', 'jjyanj', 'jjyanh', 'jjyad', 'jjyal', 'jjyalg', 'jjyalm', 'jjyalb',
+'jjyals', 'jjyalt', 'jjyalp', 'jjyalh', 'jjyam', 'jjyab', 'jjyabs', 'jjyas', 
'jjyass', 'jjyang', 'jjyaj', 'jjyac', 'jjyak', 'jjyat', 'jjyap', 'jjyah',
+'jjyae', 'jjyaeg', 'jjyaegg', 'jjyaegs', 'jjyaen', 'jjyaenj', 'jjyaenh', 
'jjyaed', 'jjyael', 'jjyaelg', 'jjyaelm', 'jjyaelb', 'jjyaels', 'jjyaelt', 
'jjyaelp', 'jjyaelh',
+'jjyaem', 'jjyaeb', 'jjyaebs', 'jjyaes', 'jjyaess', 'jjyaeng', 'jjyaej', 
'jjyaec', 'jjyaek', 'jjyaet', 'jjyaep', 'jjyaeh', 'jjeo', 'jjeog', 'jjeogg', 
'jjeogs',
+'jjeon', 'jjeonj', 'jjeonh', 'jjeod', 'jjeol', 'jjeolg', 'jjeolm', 'jjeolb', 
'jjeols', 'jjeolt', 'jjeolp', 'jjeolh', 'jjeom', 'jjeob', 'jjeobs', 'jjeos',
+'jjeoss', 'jjeong', 'jjeoj', 'jjeoc', 'jjeok', 'jjeot', 'jjeop', 'jjeoh', 
'jje', 'jjeg', 'jjegg', 'jjegs', 'jjen', 'jjenj', 'jjenh', 'jjed',
+'jjel', 'jjelg', 'jjelm', 'jjelb', 'jjels', 'jjelt', 'jjelp', 'jjelh', 'jjem', 
'jjeb', 'jjebs', 'jjes', 'jjess', 'jjeng', 'jjej', 'jjec',
+'jjek', 'jjet', 'jjep', 'jjeh', 'jjyeo', 'jjyeog', 'jjyeogg', 'jjyeogs', 
'jjyeon', 'jjyeonj', 'jjyeonh', 'jjyeod', 'jjyeol', 'jjyeolg', 'jjyeolm', 
'jjyeolb',
+'jjyeols', 'jjyeolt', 'jjyeolp', 'jjyeolh', 'jjyeom', 'jjyeob', 'jjyeobs', 
'jjyeos', 'jjyeoss', 'jjyeong', 'jjyeoj', 'jjyeoc', 'jjyeok', 'jjyeot', 
'jjyeop', 'jjyeoh',
+'jjye', 'jjyeg', 'jjyegg', 'jjyegs', 'jjyen', 'jjyenj', 'jjyenh', 'jjyed', 
'jjyel', 'jjyelg', 'jjyelm', 'jjyelb', 'jjyels', 'jjyelt', 'jjyelp', 'jjyelh',
+'jjyem', 'jjyeb', 'jjyebs', 'jjyes', 'jjyess', 'jjyeng', 'jjyej', 'jjyec', 
'jjyek', 'jjyet', 'jjyep', 'jjyeh', 'jjo', 'jjog', 'jjogg', 'jjogs',
+'jjon', 'jjonj', 'jjonh', 'jjod', 'jjol', 'jjolg', 'jjolm', 'jjolb', 'jjols', 
'jjolt', 'jjolp', 'jjolh', 'jjom', 'jjob', 'jjobs', 'jjos',
+'jjoss', 'jjong', 'jjoj', 'jjoc', 'jjok', 'jjot', 'jjop', 'jjoh', 'jjwa', 
'jjwag', 'jjwagg', 'jjwags', 'jjwan', 'jjwanj', 'jjwanh', 'jjwad',
+'jjwal', 'jjwalg', 'jjwalm', 'jjwalb', 'jjwals', 'jjwalt', 'jjwalp', 'jjwalh', 
'jjwam', 'jjwab', 'jjwabs', 'jjwas', 'jjwass', 'jjwang', 'jjwaj', 'jjwac',
+'jjwak', 'jjwat', 'jjwap', 'jjwah', 'jjwae', 'jjwaeg', 'jjwaegg', 'jjwaegs', 
'jjwaen', 'jjwaenj', 'jjwaenh', 'jjwaed', 'jjwael', 'jjwaelg', 'jjwaelm', 
'jjwaelb',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcb.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcb.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcb.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcb.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xcb] = [
+'jjwaels', 'jjwaelt', 'jjwaelp', 'jjwaelh', 'jjwaem', 'jjwaeb', 'jjwaebs', 
'jjwaes', 'jjwaess', 'jjwaeng', 'jjwaej', 'jjwaec', 'jjwaek', 'jjwaet', 
'jjwaep', 'jjwaeh',
+'jjoe', 'jjoeg', 'jjoegg', 'jjoegs', 'jjoen', 'jjoenj', 'jjoenh', 'jjoed', 
'jjoel', 'jjoelg', 'jjoelm', 'jjoelb', 'jjoels', 'jjoelt', 'jjoelp', 'jjoelh',
+'jjoem', 'jjoeb', 'jjoebs', 'jjoes', 'jjoess', 'jjoeng', 'jjoej', 'jjoec', 
'jjoek', 'jjoet', 'jjoep', 'jjoeh', 'jjyo', 'jjyog', 'jjyogg', 'jjyogs',
+'jjyon', 'jjyonj', 'jjyonh', 'jjyod', 'jjyol', 'jjyolg', 'jjyolm', 'jjyolb', 
'jjyols', 'jjyolt', 'jjyolp', 'jjyolh', 'jjyom', 'jjyob', 'jjyobs', 'jjyos',
+'jjyoss', 'jjyong', 'jjyoj', 'jjyoc', 'jjyok', 'jjyot', 'jjyop', 'jjyoh', 
'jju', 'jjug', 'jjugg', 'jjugs', 'jjun', 'jjunj', 'jjunh', 'jjud',
+'jjul', 'jjulg', 'jjulm', 'jjulb', 'jjuls', 'jjult', 'jjulp', 'jjulh', 'jjum', 
'jjub', 'jjubs', 'jjus', 'jjuss', 'jjung', 'jjuj', 'jjuc',
+'jjuk', 'jjut', 'jjup', 'jjuh', 'jjweo', 'jjweog', 'jjweogg', 'jjweogs', 
'jjweon', 'jjweonj', 'jjweonh', 'jjweod', 'jjweol', 'jjweolg', 'jjweolm', 
'jjweolb',
+'jjweols', 'jjweolt', 'jjweolp', 'jjweolh', 'jjweom', 'jjweob', 'jjweobs', 
'jjweos', 'jjweoss', 'jjweong', 'jjweoj', 'jjweoc', 'jjweok', 'jjweot', 
'jjweop', 'jjweoh',
+'jjwe', 'jjweg', 'jjwegg', 'jjwegs', 'jjwen', 'jjwenj', 'jjwenh', 'jjwed', 
'jjwel', 'jjwelg', 'jjwelm', 'jjwelb', 'jjwels', 'jjwelt', 'jjwelp', 'jjwelh',
+'jjwem', 'jjweb', 'jjwebs', 'jjwes', 'jjwess', 'jjweng', 'jjwej', 'jjwec', 
'jjwek', 'jjwet', 'jjwep', 'jjweh', 'jjwi', 'jjwig', 'jjwigg', 'jjwigs',
+'jjwin', 'jjwinj', 'jjwinh', 'jjwid', 'jjwil', 'jjwilg', 'jjwilm', 'jjwilb', 
'jjwils', 'jjwilt', 'jjwilp', 'jjwilh', 'jjwim', 'jjwib', 'jjwibs', 'jjwis',
+'jjwiss', 'jjwing', 'jjwij', 'jjwic', 'jjwik', 'jjwit', 'jjwip', 'jjwih', 
'jjyu', 'jjyug', 'jjyugg', 'jjyugs', 'jjyun', 'jjyunj', 'jjyunh', 'jjyud',
+'jjyul', 'jjyulg', 'jjyulm', 'jjyulb', 'jjyuls', 'jjyult', 'jjyulp', 'jjyulh', 
'jjyum', 'jjyub', 'jjyubs', 'jjyus', 'jjyuss', 'jjyung', 'jjyuj', 'jjyuc',
+'jjyuk', 'jjyut', 'jjyup', 'jjyuh', 'jjeu', 'jjeug', 'jjeugg', 'jjeugs', 
'jjeun', 'jjeunj', 'jjeunh', 'jjeud', 'jjeul', 'jjeulg', 'jjeulm', 'jjeulb',
+'jjeuls', 'jjeult', 'jjeulp', 'jjeulh', 'jjeum', 'jjeub', 'jjeubs', 'jjeus', 
'jjeuss', 'jjeung', 'jjeuj', 'jjeuc', 'jjeuk', 'jjeut', 'jjeup', 'jjeuh',
+'jjyi', 'jjyig', 'jjyigg', 'jjyigs', 'jjyin', 'jjyinj', 'jjyinh', 'jjyid', 
'jjyil', 'jjyilg', 'jjyilm', 'jjyilb', 'jjyils', 'jjyilt', 'jjyilp', 'jjyilh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcc.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcc.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcc.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcc.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xcc] = [
+'jjyim', 'jjyib', 'jjyibs', 'jjyis', 'jjyiss', 'jjying', 'jjyij', 'jjyic', 
'jjyik', 'jjyit', 'jjyip', 'jjyih', 'jji', 'jjig', 'jjigg', 'jjigs',
+'jjin', 'jjinj', 'jjinh', 'jjid', 'jjil', 'jjilg', 'jjilm', 'jjilb', 'jjils', 
'jjilt', 'jjilp', 'jjilh', 'jjim', 'jjib', 'jjibs', 'jjis',
+'jjiss', 'jjing', 'jjij', 'jjic', 'jjik', 'jjit', 'jjip', 'jjih', 'ca', 'cag', 
'cagg', 'cags', 'can', 'canj', 'canh', 'cad',
+'cal', 'calg', 'calm', 'calb', 'cals', 'calt', 'calp', 'calh', 'cam', 'cab', 
'cabs', 'cas', 'cass', 'cang', 'caj', 'cac',
+'cak', 'cat', 'cap', 'cah', 'cae', 'caeg', 'caegg', 'caegs', 'caen', 'caenj', 
'caenh', 'caed', 'cael', 'caelg', 'caelm', 'caelb',
+'caels', 'caelt', 'caelp', 'caelh', 'caem', 'caeb', 'caebs', 'caes', 'caess', 
'caeng', 'caej', 'caec', 'caek', 'caet', 'caep', 'caeh',
+'cya', 'cyag', 'cyagg', 'cyags', 'cyan', 'cyanj', 'cyanh', 'cyad', 'cyal', 
'cyalg', 'cyalm', 'cyalb', 'cyals', 'cyalt', 'cyalp', 'cyalh',
+'cyam', 'cyab', 'cyabs', 'cyas', 'cyass', 'cyang', 'cyaj', 'cyac', 'cyak', 
'cyat', 'cyap', 'cyah', 'cyae', 'cyaeg', 'cyaegg', 'cyaegs',
+'cyaen', 'cyaenj', 'cyaenh', 'cyaed', 'cyael', 'cyaelg', 'cyaelm', 'cyaelb', 
'cyaels', 'cyaelt', 'cyaelp', 'cyaelh', 'cyaem', 'cyaeb', 'cyaebs', 'cyaes',
+'cyaess', 'cyaeng', 'cyaej', 'cyaec', 'cyaek', 'cyaet', 'cyaep', 'cyaeh', 
'ceo', 'ceog', 'ceogg', 'ceogs', 'ceon', 'ceonj', 'ceonh', 'ceod',
+'ceol', 'ceolg', 'ceolm', 'ceolb', 'ceols', 'ceolt', 'ceolp', 'ceolh', 'ceom', 
'ceob', 'ceobs', 'ceos', 'ceoss', 'ceong', 'ceoj', 'ceoc',
+'ceok', 'ceot', 'ceop', 'ceoh', 'ce', 'ceg', 'cegg', 'cegs', 'cen', 'cenj', 
'cenh', 'ced', 'cel', 'celg', 'celm', 'celb',
+'cels', 'celt', 'celp', 'celh', 'cem', 'ceb', 'cebs', 'ces', 'cess', 'ceng', 
'cej', 'cec', 'cek', 'cet', 'cep', 'ceh',
+'cyeo', 'cyeog', 'cyeogg', 'cyeogs', 'cyeon', 'cyeonj', 'cyeonh', 'cyeod', 
'cyeol', 'cyeolg', 'cyeolm', 'cyeolb', 'cyeols', 'cyeolt', 'cyeolp', 'cyeolh',
+'cyeom', 'cyeob', 'cyeobs', 'cyeos', 'cyeoss', 'cyeong', 'cyeoj', 'cyeoc', 
'cyeok', 'cyeot', 'cyeop', 'cyeoh', 'cye', 'cyeg', 'cyegg', 'cyegs',
+'cyen', 'cyenj', 'cyenh', 'cyed', 'cyel', 'cyelg', 'cyelm', 'cyelb', 'cyels', 
'cyelt', 'cyelp', 'cyelh', 'cyem', 'cyeb', 'cyebs', 'cyes',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcd.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcd.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcd.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcd.pm       12 Oct 2011 
23:51:15 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xcd] = [
+'cyess', 'cyeng', 'cyej', 'cyec', 'cyek', 'cyet', 'cyep', 'cyeh', 'co', 'cog', 
'cogg', 'cogs', 'con', 'conj', 'conh', 'cod',
+'col', 'colg', 'colm', 'colb', 'cols', 'colt', 'colp', 'colh', 'com', 'cob', 
'cobs', 'cos', 'coss', 'cong', 'coj', 'coc',
+'cok', 'cot', 'cop', 'coh', 'cwa', 'cwag', 'cwagg', 'cwags', 'cwan', 'cwanj', 
'cwanh', 'cwad', 'cwal', 'cwalg', 'cwalm', 'cwalb',
+'cwals', 'cwalt', 'cwalp', 'cwalh', 'cwam', 'cwab', 'cwabs', 'cwas', 'cwass', 
'cwang', 'cwaj', 'cwac', 'cwak', 'cwat', 'cwap', 'cwah',
+'cwae', 'cwaeg', 'cwaegg', 'cwaegs', 'cwaen', 'cwaenj', 'cwaenh', 'cwaed', 
'cwael', 'cwaelg', 'cwaelm', 'cwaelb', 'cwaels', 'cwaelt', 'cwaelp', 'cwaelh',
+'cwaem', 'cwaeb', 'cwaebs', 'cwaes', 'cwaess', 'cwaeng', 'cwaej', 'cwaec', 
'cwaek', 'cwaet', 'cwaep', 'cwaeh', 'coe', 'coeg', 'coegg', 'coegs',
+'coen', 'coenj', 'coenh', 'coed', 'coel', 'coelg', 'coelm', 'coelb', 'coels', 
'coelt', 'coelp', 'coelh', 'coem', 'coeb', 'coebs', 'coes',
+'coess', 'coeng', 'coej', 'coec', 'coek', 'coet', 'coep', 'coeh', 'cyo', 
'cyog', 'cyogg', 'cyogs', 'cyon', 'cyonj', 'cyonh', 'cyod',
+'cyol', 'cyolg', 'cyolm', 'cyolb', 'cyols', 'cyolt', 'cyolp', 'cyolh', 'cyom', 
'cyob', 'cyobs', 'cyos', 'cyoss', 'cyong', 'cyoj', 'cyoc',
+'cyok', 'cyot', 'cyop', 'cyoh', 'cu', 'cug', 'cugg', 'cugs', 'cun', 'cunj', 
'cunh', 'cud', 'cul', 'culg', 'culm', 'culb',
+'culs', 'cult', 'culp', 'culh', 'cum', 'cub', 'cubs', 'cus', 'cuss', 'cung', 
'cuj', 'cuc', 'cuk', 'cut', 'cup', 'cuh',
+'cweo', 'cweog', 'cweogg', 'cweogs', 'cweon', 'cweonj', 'cweonh', 'cweod', 
'cweol', 'cweolg', 'cweolm', 'cweolb', 'cweols', 'cweolt', 'cweolp', 'cweolh',
+'cweom', 'cweob', 'cweobs', 'cweos', 'cweoss', 'cweong', 'cweoj', 'cweoc', 
'cweok', 'cweot', 'cweop', 'cweoh', 'cwe', 'cweg', 'cwegg', 'cwegs',
+'cwen', 'cwenj', 'cwenh', 'cwed', 'cwel', 'cwelg', 'cwelm', 'cwelb', 'cwels', 
'cwelt', 'cwelp', 'cwelh', 'cwem', 'cweb', 'cwebs', 'cwes',
+'cwess', 'cweng', 'cwej', 'cwec', 'cwek', 'cwet', 'cwep', 'cweh', 'cwi', 
'cwig', 'cwigg', 'cwigs', 'cwin', 'cwinj', 'cwinh', 'cwid',
+'cwil', 'cwilg', 'cwilm', 'cwilb', 'cwils', 'cwilt', 'cwilp', 'cwilh', 'cwim', 
'cwib', 'cwibs', 'cwis', 'cwiss', 'cwing', 'cwij', 'cwic',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xce.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xce.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xce.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xce.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xce] = [
+'cwik', 'cwit', 'cwip', 'cwih', 'cyu', 'cyug', 'cyugg', 'cyugs', 'cyun', 
'cyunj', 'cyunh', 'cyud', 'cyul', 'cyulg', 'cyulm', 'cyulb',
+'cyuls', 'cyult', 'cyulp', 'cyulh', 'cyum', 'cyub', 'cyubs', 'cyus', 'cyuss', 
'cyung', 'cyuj', 'cyuc', 'cyuk', 'cyut', 'cyup', 'cyuh',
+'ceu', 'ceug', 'ceugg', 'ceugs', 'ceun', 'ceunj', 'ceunh', 'ceud', 'ceul', 
'ceulg', 'ceulm', 'ceulb', 'ceuls', 'ceult', 'ceulp', 'ceulh',
+'ceum', 'ceub', 'ceubs', 'ceus', 'ceuss', 'ceung', 'ceuj', 'ceuc', 'ceuk', 
'ceut', 'ceup', 'ceuh', 'cyi', 'cyig', 'cyigg', 'cyigs',
+'cyin', 'cyinj', 'cyinh', 'cyid', 'cyil', 'cyilg', 'cyilm', 'cyilb', 'cyils', 
'cyilt', 'cyilp', 'cyilh', 'cyim', 'cyib', 'cyibs', 'cyis',
+'cyiss', 'cying', 'cyij', 'cyic', 'cyik', 'cyit', 'cyip', 'cyih', 'ci', 'cig', 
'cigg', 'cigs', 'cin', 'cinj', 'cinh', 'cid',
+'cil', 'cilg', 'cilm', 'cilb', 'cils', 'cilt', 'cilp', 'cilh', 'cim', 'cib', 
'cibs', 'cis', 'ciss', 'cing', 'cij', 'cic',
+'cik', 'cit', 'cip', 'cih', 'ka', 'kag', 'kagg', 'kags', 'kan', 'kanj', 
'kanh', 'kad', 'kal', 'kalg', 'kalm', 'kalb',
+'kals', 'kalt', 'kalp', 'kalh', 'kam', 'kab', 'kabs', 'kas', 'kass', 'kang', 
'kaj', 'kac', 'kak', 'kat', 'kap', 'kah',
+'kae', 'kaeg', 'kaegg', 'kaegs', 'kaen', 'kaenj', 'kaenh', 'kaed', 'kael', 
'kaelg', 'kaelm', 'kaelb', 'kaels', 'kaelt', 'kaelp', 'kaelh',
+'kaem', 'kaeb', 'kaebs', 'kaes', 'kaess', 'kaeng', 'kaej', 'kaec', 'kaek', 
'kaet', 'kaep', 'kaeh', 'kya', 'kyag', 'kyagg', 'kyags',
+'kyan', 'kyanj', 'kyanh', 'kyad', 'kyal', 'kyalg', 'kyalm', 'kyalb', 'kyals', 
'kyalt', 'kyalp', 'kyalh', 'kyam', 'kyab', 'kyabs', 'kyas',
+'kyass', 'kyang', 'kyaj', 'kyac', 'kyak', 'kyat', 'kyap', 'kyah', 'kyae', 
'kyaeg', 'kyaegg', 'kyaegs', 'kyaen', 'kyaenj', 'kyaenh', 'kyaed',
+'kyael', 'kyaelg', 'kyaelm', 'kyaelb', 'kyaels', 'kyaelt', 'kyaelp', 'kyaelh', 
'kyaem', 'kyaeb', 'kyaebs', 'kyaes', 'kyaess', 'kyaeng', 'kyaej', 'kyaec',
+'kyaek', 'kyaet', 'kyaep', 'kyaeh', 'keo', 'keog', 'keogg', 'keogs', 'keon', 
'keonj', 'keonh', 'keod', 'keol', 'keolg', 'keolm', 'keolb',
+'keols', 'keolt', 'keolp', 'keolh', 'keom', 'keob', 'keobs', 'keos', 'keoss', 
'keong', 'keoj', 'keoc', 'keok', 'keot', 'keop', 'keoh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcf.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcf.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcf.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xcf.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xcf] = [
+'ke', 'keg', 'kegg', 'kegs', 'ken', 'kenj', 'kenh', 'ked', 'kel', 'kelg', 
'kelm', 'kelb', 'kels', 'kelt', 'kelp', 'kelh',
+'kem', 'keb', 'kebs', 'kes', 'kess', 'keng', 'kej', 'kec', 'kek', 'ket', 
'kep', 'keh', 'kyeo', 'kyeog', 'kyeogg', 'kyeogs',
+'kyeon', 'kyeonj', 'kyeonh', 'kyeod', 'kyeol', 'kyeolg', 'kyeolm', 'kyeolb', 
'kyeols', 'kyeolt', 'kyeolp', 'kyeolh', 'kyeom', 'kyeob', 'kyeobs', 'kyeos',
+'kyeoss', 'kyeong', 'kyeoj', 'kyeoc', 'kyeok', 'kyeot', 'kyeop', 'kyeoh', 
'kye', 'kyeg', 'kyegg', 'kyegs', 'kyen', 'kyenj', 'kyenh', 'kyed',
+'kyel', 'kyelg', 'kyelm', 'kyelb', 'kyels', 'kyelt', 'kyelp', 'kyelh', 'kyem', 
'kyeb', 'kyebs', 'kyes', 'kyess', 'kyeng', 'kyej', 'kyec',
+'kyek', 'kyet', 'kyep', 'kyeh', 'ko', 'kog', 'kogg', 'kogs', 'kon', 'konj', 
'konh', 'kod', 'kol', 'kolg', 'kolm', 'kolb',
+'kols', 'kolt', 'kolp', 'kolh', 'kom', 'kob', 'kobs', 'kos', 'koss', 'kong', 
'koj', 'koc', 'kok', 'kot', 'kop', 'koh',
+'kwa', 'kwag', 'kwagg', 'kwags', 'kwan', 'kwanj', 'kwanh', 'kwad', 'kwal', 
'kwalg', 'kwalm', 'kwalb', 'kwals', 'kwalt', 'kwalp', 'kwalh',
+'kwam', 'kwab', 'kwabs', 'kwas', 'kwass', 'kwang', 'kwaj', 'kwac', 'kwak', 
'kwat', 'kwap', 'kwah', 'kwae', 'kwaeg', 'kwaegg', 'kwaegs',
+'kwaen', 'kwaenj', 'kwaenh', 'kwaed', 'kwael', 'kwaelg', 'kwaelm', 'kwaelb', 
'kwaels', 'kwaelt', 'kwaelp', 'kwaelh', 'kwaem', 'kwaeb', 'kwaebs', 'kwaes',
+'kwaess', 'kwaeng', 'kwaej', 'kwaec', 'kwaek', 'kwaet', 'kwaep', 'kwaeh', 
'koe', 'koeg', 'koegg', 'koegs', 'koen', 'koenj', 'koenh', 'koed',
+'koel', 'koelg', 'koelm', 'koelb', 'koels', 'koelt', 'koelp', 'koelh', 'koem', 
'koeb', 'koebs', 'koes', 'koess', 'koeng', 'koej', 'koec',
+'koek', 'koet', 'koep', 'koeh', 'kyo', 'kyog', 'kyogg', 'kyogs', 'kyon', 
'kyonj', 'kyonh', 'kyod', 'kyol', 'kyolg', 'kyolm', 'kyolb',
+'kyols', 'kyolt', 'kyolp', 'kyolh', 'kyom', 'kyob', 'kyobs', 'kyos', 'kyoss', 
'kyong', 'kyoj', 'kyoc', 'kyok', 'kyot', 'kyop', 'kyoh',
+'ku', 'kug', 'kugg', 'kugs', 'kun', 'kunj', 'kunh', 'kud', 'kul', 'kulg', 
'kulm', 'kulb', 'kuls', 'kult', 'kulp', 'kulh',
+'kum', 'kub', 'kubs', 'kus', 'kuss', 'kung', 'kuj', 'kuc', 'kuk', 'kut', 
'kup', 'kuh', 'kweo', 'kweog', 'kweogg', 'kweogs',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd0.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd0.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd0.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd0.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd0] = [
+'kweon', 'kweonj', 'kweonh', 'kweod', 'kweol', 'kweolg', 'kweolm', 'kweolb', 
'kweols', 'kweolt', 'kweolp', 'kweolh', 'kweom', 'kweob', 'kweobs', 'kweos',
+'kweoss', 'kweong', 'kweoj', 'kweoc', 'kweok', 'kweot', 'kweop', 'kweoh', 
'kwe', 'kweg', 'kwegg', 'kwegs', 'kwen', 'kwenj', 'kwenh', 'kwed',
+'kwel', 'kwelg', 'kwelm', 'kwelb', 'kwels', 'kwelt', 'kwelp', 'kwelh', 'kwem', 
'kweb', 'kwebs', 'kwes', 'kwess', 'kweng', 'kwej', 'kwec',
+'kwek', 'kwet', 'kwep', 'kweh', 'kwi', 'kwig', 'kwigg', 'kwigs', 'kwin', 
'kwinj', 'kwinh', 'kwid', 'kwil', 'kwilg', 'kwilm', 'kwilb',
+'kwils', 'kwilt', 'kwilp', 'kwilh', 'kwim', 'kwib', 'kwibs', 'kwis', 'kwiss', 
'kwing', 'kwij', 'kwic', 'kwik', 'kwit', 'kwip', 'kwih',
+'kyu', 'kyug', 'kyugg', 'kyugs', 'kyun', 'kyunj', 'kyunh', 'kyud', 'kyul', 
'kyulg', 'kyulm', 'kyulb', 'kyuls', 'kyult', 'kyulp', 'kyulh',
+'kyum', 'kyub', 'kyubs', 'kyus', 'kyuss', 'kyung', 'kyuj', 'kyuc', 'kyuk', 
'kyut', 'kyup', 'kyuh', 'keu', 'keug', 'keugg', 'keugs',
+'keun', 'keunj', 'keunh', 'keud', 'keul', 'keulg', 'keulm', 'keulb', 'keuls', 
'keult', 'keulp', 'keulh', 'keum', 'keub', 'keubs', 'keus',
+'keuss', 'keung', 'keuj', 'keuc', 'keuk', 'keut', 'keup', 'keuh', 'kyi', 
'kyig', 'kyigg', 'kyigs', 'kyin', 'kyinj', 'kyinh', 'kyid',
+'kyil', 'kyilg', 'kyilm', 'kyilb', 'kyils', 'kyilt', 'kyilp', 'kyilh', 'kyim', 
'kyib', 'kyibs', 'kyis', 'kyiss', 'kying', 'kyij', 'kyic',
+'kyik', 'kyit', 'kyip', 'kyih', 'ki', 'kig', 'kigg', 'kigs', 'kin', 'kinj', 
'kinh', 'kid', 'kil', 'kilg', 'kilm', 'kilb',
+'kils', 'kilt', 'kilp', 'kilh', 'kim', 'kib', 'kibs', 'kis', 'kiss', 'king', 
'kij', 'kic', 'kik', 'kit', 'kip', 'kih',
+'ta', 'tag', 'tagg', 'tags', 'tan', 'tanj', 'tanh', 'tad', 'tal', 'talg', 
'talm', 'talb', 'tals', 'talt', 'talp', 'talh',
+'tam', 'tab', 'tabs', 'tas', 'tass', 'tang', 'taj', 'tac', 'tak', 'tat', 
'tap', 'tah', 'tae', 'taeg', 'taegg', 'taegs',
+'taen', 'taenj', 'taenh', 'taed', 'tael', 'taelg', 'taelm', 'taelb', 'taels', 
'taelt', 'taelp', 'taelh', 'taem', 'taeb', 'taebs', 'taes',
+'taess', 'taeng', 'taej', 'taec', 'taek', 'taet', 'taep', 'taeh', 'tya', 
'tyag', 'tyagg', 'tyags', 'tyan', 'tyanj', 'tyanh', 'tyad',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd1.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd1.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd1.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd1.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd1] = [
+'tyal', 'tyalg', 'tyalm', 'tyalb', 'tyals', 'tyalt', 'tyalp', 'tyalh', 'tyam', 
'tyab', 'tyabs', 'tyas', 'tyass', 'tyang', 'tyaj', 'tyac',
+'tyak', 'tyat', 'tyap', 'tyah', 'tyae', 'tyaeg', 'tyaegg', 'tyaegs', 'tyaen', 
'tyaenj', 'tyaenh', 'tyaed', 'tyael', 'tyaelg', 'tyaelm', 'tyaelb',
+'tyaels', 'tyaelt', 'tyaelp', 'tyaelh', 'tyaem', 'tyaeb', 'tyaebs', 'tyaes', 
'tyaess', 'tyaeng', 'tyaej', 'tyaec', 'tyaek', 'tyaet', 'tyaep', 'tyaeh',
+'teo', 'teog', 'teogg', 'teogs', 'teon', 'teonj', 'teonh', 'teod', 'teol', 
'teolg', 'teolm', 'teolb', 'teols', 'teolt', 'teolp', 'teolh',
+'teom', 'teob', 'teobs', 'teos', 'teoss', 'teong', 'teoj', 'teoc', 'teok', 
'teot', 'teop', 'teoh', 'te', 'teg', 'tegg', 'tegs',
+'ten', 'tenj', 'tenh', 'ted', 'tel', 'telg', 'telm', 'telb', 'tels', 'telt', 
'telp', 'telh', 'tem', 'teb', 'tebs', 'tes',
+'tess', 'teng', 'tej', 'tec', 'tek', 'tet', 'tep', 'teh', 'tyeo', 'tyeog', 
'tyeogg', 'tyeogs', 'tyeon', 'tyeonj', 'tyeonh', 'tyeod',
+'tyeol', 'tyeolg', 'tyeolm', 'tyeolb', 'tyeols', 'tyeolt', 'tyeolp', 'tyeolh', 
'tyeom', 'tyeob', 'tyeobs', 'tyeos', 'tyeoss', 'tyeong', 'tyeoj', 'tyeoc',
+'tyeok', 'tyeot', 'tyeop', 'tyeoh', 'tye', 'tyeg', 'tyegg', 'tyegs', 'tyen', 
'tyenj', 'tyenh', 'tyed', 'tyel', 'tyelg', 'tyelm', 'tyelb',
+'tyels', 'tyelt', 'tyelp', 'tyelh', 'tyem', 'tyeb', 'tyebs', 'tyes', 'tyess', 
'tyeng', 'tyej', 'tyec', 'tyek', 'tyet', 'tyep', 'tyeh',
+'to', 'tog', 'togg', 'togs', 'ton', 'tonj', 'tonh', 'tod', 'tol', 'tolg', 
'tolm', 'tolb', 'tols', 'tolt', 'tolp', 'tolh',
+'tom', 'tob', 'tobs', 'tos', 'toss', 'tong', 'toj', 'toc', 'tok', 'tot', 
'top', 'toh', 'twa', 'twag', 'twagg', 'twags',
+'twan', 'twanj', 'twanh', 'twad', 'twal', 'twalg', 'twalm', 'twalb', 'twals', 
'twalt', 'twalp', 'twalh', 'twam', 'twab', 'twabs', 'twas',
+'twass', 'twang', 'twaj', 'twac', 'twak', 'twat', 'twap', 'twah', 'twae', 
'twaeg', 'twaegg', 'twaegs', 'twaen', 'twaenj', 'twaenh', 'twaed',
+'twael', 'twaelg', 'twaelm', 'twaelb', 'twaels', 'twaelt', 'twaelp', 'twaelh', 
'twaem', 'twaeb', 'twaebs', 'twaes', 'twaess', 'twaeng', 'twaej', 'twaec',
+'twaek', 'twaet', 'twaep', 'twaeh', 'toe', 'toeg', 'toegg', 'toegs', 'toen', 
'toenj', 'toenh', 'toed', 'toel', 'toelg', 'toelm', 'toelb',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd2.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd2.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd2.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd2.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd2] = [
+'toels', 'toelt', 'toelp', 'toelh', 'toem', 'toeb', 'toebs', 'toes', 'toess', 
'toeng', 'toej', 'toec', 'toek', 'toet', 'toep', 'toeh',
+'tyo', 'tyog', 'tyogg', 'tyogs', 'tyon', 'tyonj', 'tyonh', 'tyod', 'tyol', 
'tyolg', 'tyolm', 'tyolb', 'tyols', 'tyolt', 'tyolp', 'tyolh',
+'tyom', 'tyob', 'tyobs', 'tyos', 'tyoss', 'tyong', 'tyoj', 'tyoc', 'tyok', 
'tyot', 'tyop', 'tyoh', 'tu', 'tug', 'tugg', 'tugs',
+'tun', 'tunj', 'tunh', 'tud', 'tul', 'tulg', 'tulm', 'tulb', 'tuls', 'tult', 
'tulp', 'tulh', 'tum', 'tub', 'tubs', 'tus',
+'tuss', 'tung', 'tuj', 'tuc', 'tuk', 'tut', 'tup', 'tuh', 'tweo', 'tweog', 
'tweogg', 'tweogs', 'tweon', 'tweonj', 'tweonh', 'tweod',
+'tweol', 'tweolg', 'tweolm', 'tweolb', 'tweols', 'tweolt', 'tweolp', 'tweolh', 
'tweom', 'tweob', 'tweobs', 'tweos', 'tweoss', 'tweong', 'tweoj', 'tweoc',
+'tweok', 'tweot', 'tweop', 'tweoh', 'twe', 'tweg', 'twegg', 'twegs', 'twen', 
'twenj', 'twenh', 'twed', 'twel', 'twelg', 'twelm', 'twelb',
+'twels', 'twelt', 'twelp', 'twelh', 'twem', 'tweb', 'twebs', 'twes', 'twess', 
'tweng', 'twej', 'twec', 'twek', 'twet', 'twep', 'tweh',
+'twi', 'twig', 'twigg', 'twigs', 'twin', 'twinj', 'twinh', 'twid', 'twil', 
'twilg', 'twilm', 'twilb', 'twils', 'twilt', 'twilp', 'twilh',
+'twim', 'twib', 'twibs', 'twis', 'twiss', 'twing', 'twij', 'twic', 'twik', 
'twit', 'twip', 'twih', 'tyu', 'tyug', 'tyugg', 'tyugs',
+'tyun', 'tyunj', 'tyunh', 'tyud', 'tyul', 'tyulg', 'tyulm', 'tyulb', 'tyuls', 
'tyult', 'tyulp', 'tyulh', 'tyum', 'tyub', 'tyubs', 'tyus',
+'tyuss', 'tyung', 'tyuj', 'tyuc', 'tyuk', 'tyut', 'tyup', 'tyuh', 'teu', 
'teug', 'teugg', 'teugs', 'teun', 'teunj', 'teunh', 'teud',
+'teul', 'teulg', 'teulm', 'teulb', 'teuls', 'teult', 'teulp', 'teulh', 'teum', 
'teub', 'teubs', 'teus', 'teuss', 'teung', 'teuj', 'teuc',
+'teuk', 'teut', 'teup', 'teuh', 'tyi', 'tyig', 'tyigg', 'tyigs', 'tyin', 
'tyinj', 'tyinh', 'tyid', 'tyil', 'tyilg', 'tyilm', 'tyilb',
+'tyils', 'tyilt', 'tyilp', 'tyilh', 'tyim', 'tyib', 'tyibs', 'tyis', 'tyiss', 
'tying', 'tyij', 'tyic', 'tyik', 'tyit', 'tyip', 'tyih',
+'ti', 'tig', 'tigg', 'tigs', 'tin', 'tinj', 'tinh', 'tid', 'til', 'tilg', 
'tilm', 'tilb', 'tils', 'tilt', 'tilp', 'tilh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd3.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd3.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd3.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd3.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd3] = [
+'tim', 'tib', 'tibs', 'tis', 'tiss', 'ting', 'tij', 'tic', 'tik', 'tit', 
'tip', 'tih', 'pa', 'pag', 'pagg', 'pags',
+'pan', 'panj', 'panh', 'pad', 'pal', 'palg', 'palm', 'palb', 'pals', 'palt', 
'palp', 'palh', 'pam', 'pab', 'pabs', 'pas',
+'pass', 'pang', 'paj', 'pac', 'pak', 'pat', 'pap', 'pah', 'pae', 'paeg', 
'paegg', 'paegs', 'paen', 'paenj', 'paenh', 'paed',
+'pael', 'paelg', 'paelm', 'paelb', 'paels', 'paelt', 'paelp', 'paelh', 'paem', 
'paeb', 'paebs', 'paes', 'paess', 'paeng', 'paej', 'paec',
+'paek', 'paet', 'paep', 'paeh', 'pya', 'pyag', 'pyagg', 'pyags', 'pyan', 
'pyanj', 'pyanh', 'pyad', 'pyal', 'pyalg', 'pyalm', 'pyalb',
+'pyals', 'pyalt', 'pyalp', 'pyalh', 'pyam', 'pyab', 'pyabs', 'pyas', 'pyass', 
'pyang', 'pyaj', 'pyac', 'pyak', 'pyat', 'pyap', 'pyah',
+'pyae', 'pyaeg', 'pyaegg', 'pyaegs', 'pyaen', 'pyaenj', 'pyaenh', 'pyaed', 
'pyael', 'pyaelg', 'pyaelm', 'pyaelb', 'pyaels', 'pyaelt', 'pyaelp', 'pyaelh',
+'pyaem', 'pyaeb', 'pyaebs', 'pyaes', 'pyaess', 'pyaeng', 'pyaej', 'pyaec', 
'pyaek', 'pyaet', 'pyaep', 'pyaeh', 'peo', 'peog', 'peogg', 'peogs',
+'peon', 'peonj', 'peonh', 'peod', 'peol', 'peolg', 'peolm', 'peolb', 'peols', 
'peolt', 'peolp', 'peolh', 'peom', 'peob', 'peobs', 'peos',
+'peoss', 'peong', 'peoj', 'peoc', 'peok', 'peot', 'peop', 'peoh', 'pe', 'peg', 
'pegg', 'pegs', 'pen', 'penj', 'penh', 'ped',
+'pel', 'pelg', 'pelm', 'pelb', 'pels', 'pelt', 'pelp', 'pelh', 'pem', 'peb', 
'pebs', 'pes', 'pess', 'peng', 'pej', 'pec',
+'pek', 'pet', 'pep', 'peh', 'pyeo', 'pyeog', 'pyeogg', 'pyeogs', 'pyeon', 
'pyeonj', 'pyeonh', 'pyeod', 'pyeol', 'pyeolg', 'pyeolm', 'pyeolb',
+'pyeols', 'pyeolt', 'pyeolp', 'pyeolh', 'pyeom', 'pyeob', 'pyeobs', 'pyeos', 
'pyeoss', 'pyeong', 'pyeoj', 'pyeoc', 'pyeok', 'pyeot', 'pyeop', 'pyeoh',
+'pye', 'pyeg', 'pyegg', 'pyegs', 'pyen', 'pyenj', 'pyenh', 'pyed', 'pyel', 
'pyelg', 'pyelm', 'pyelb', 'pyels', 'pyelt', 'pyelp', 'pyelh',
+'pyem', 'pyeb', 'pyebs', 'pyes', 'pyess', 'pyeng', 'pyej', 'pyec', 'pyek', 
'pyet', 'pyep', 'pyeh', 'po', 'pog', 'pogg', 'pogs',
+'pon', 'ponj', 'ponh', 'pod', 'pol', 'polg', 'polm', 'polb', 'pols', 'polt', 
'polp', 'polh', 'pom', 'pob', 'pobs', 'pos',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd4.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd4.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd4.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd4.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:42 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd4] = [
+'poss', 'pong', 'poj', 'poc', 'pok', 'pot', 'pop', 'poh', 'pwa', 'pwag', 
'pwagg', 'pwags', 'pwan', 'pwanj', 'pwanh', 'pwad',
+'pwal', 'pwalg', 'pwalm', 'pwalb', 'pwals', 'pwalt', 'pwalp', 'pwalh', 'pwam', 
'pwab', 'pwabs', 'pwas', 'pwass', 'pwang', 'pwaj', 'pwac',
+'pwak', 'pwat', 'pwap', 'pwah', 'pwae', 'pwaeg', 'pwaegg', 'pwaegs', 'pwaen', 
'pwaenj', 'pwaenh', 'pwaed', 'pwael', 'pwaelg', 'pwaelm', 'pwaelb',
+'pwaels', 'pwaelt', 'pwaelp', 'pwaelh', 'pwaem', 'pwaeb', 'pwaebs', 'pwaes', 
'pwaess', 'pwaeng', 'pwaej', 'pwaec', 'pwaek', 'pwaet', 'pwaep', 'pwaeh',
+'poe', 'poeg', 'poegg', 'poegs', 'poen', 'poenj', 'poenh', 'poed', 'poel', 
'poelg', 'poelm', 'poelb', 'poels', 'poelt', 'poelp', 'poelh',
+'poem', 'poeb', 'poebs', 'poes', 'poess', 'poeng', 'poej', 'poec', 'poek', 
'poet', 'poep', 'poeh', 'pyo', 'pyog', 'pyogg', 'pyogs',
+'pyon', 'pyonj', 'pyonh', 'pyod', 'pyol', 'pyolg', 'pyolm', 'pyolb', 'pyols', 
'pyolt', 'pyolp', 'pyolh', 'pyom', 'pyob', 'pyobs', 'pyos',
+'pyoss', 'pyong', 'pyoj', 'pyoc', 'pyok', 'pyot', 'pyop', 'pyoh', 'pu', 'pug', 
'pugg', 'pugs', 'pun', 'punj', 'punh', 'pud',
+'pul', 'pulg', 'pulm', 'pulb', 'puls', 'pult', 'pulp', 'pulh', 'pum', 'pub', 
'pubs', 'pus', 'puss', 'pung', 'puj', 'puc',
+'puk', 'put', 'pup', 'puh', 'pweo', 'pweog', 'pweogg', 'pweogs', 'pweon', 
'pweonj', 'pweonh', 'pweod', 'pweol', 'pweolg', 'pweolm', 'pweolb',
+'pweols', 'pweolt', 'pweolp', 'pweolh', 'pweom', 'pweob', 'pweobs', 'pweos', 
'pweoss', 'pweong', 'pweoj', 'pweoc', 'pweok', 'pweot', 'pweop', 'pweoh',
+'pwe', 'pweg', 'pwegg', 'pwegs', 'pwen', 'pwenj', 'pwenh', 'pwed', 'pwel', 
'pwelg', 'pwelm', 'pwelb', 'pwels', 'pwelt', 'pwelp', 'pwelh',
+'pwem', 'pweb', 'pwebs', 'pwes', 'pwess', 'pweng', 'pwej', 'pwec', 'pwek', 
'pwet', 'pwep', 'pweh', 'pwi', 'pwig', 'pwigg', 'pwigs',
+'pwin', 'pwinj', 'pwinh', 'pwid', 'pwil', 'pwilg', 'pwilm', 'pwilb', 'pwils', 
'pwilt', 'pwilp', 'pwilh', 'pwim', 'pwib', 'pwibs', 'pwis',
+'pwiss', 'pwing', 'pwij', 'pwic', 'pwik', 'pwit', 'pwip', 'pwih', 'pyu', 
'pyug', 'pyugg', 'pyugs', 'pyun', 'pyunj', 'pyunh', 'pyud',
+'pyul', 'pyulg', 'pyulm', 'pyulb', 'pyuls', 'pyult', 'pyulp', 'pyulh', 'pyum', 
'pyub', 'pyubs', 'pyus', 'pyuss', 'pyung', 'pyuj', 'pyuc',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd5.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd5.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd5.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd5.pm       12 Oct 2011 
23:51:16 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd5] = [
+'pyuk', 'pyut', 'pyup', 'pyuh', 'peu', 'peug', 'peugg', 'peugs', 'peun', 
'peunj', 'peunh', 'peud', 'peul', 'peulg', 'peulm', 'peulb',
+'peuls', 'peult', 'peulp', 'peulh', 'peum', 'peub', 'peubs', 'peus', 'peuss', 
'peung', 'peuj', 'peuc', 'peuk', 'peut', 'peup', 'peuh',
+'pyi', 'pyig', 'pyigg', 'pyigs', 'pyin', 'pyinj', 'pyinh', 'pyid', 'pyil', 
'pyilg', 'pyilm', 'pyilb', 'pyils', 'pyilt', 'pyilp', 'pyilh',
+'pyim', 'pyib', 'pyibs', 'pyis', 'pyiss', 'pying', 'pyij', 'pyic', 'pyik', 
'pyit', 'pyip', 'pyih', 'pi', 'pig', 'pigg', 'pigs',
+'pin', 'pinj', 'pinh', 'pid', 'pil', 'pilg', 'pilm', 'pilb', 'pils', 'pilt', 
'pilp', 'pilh', 'pim', 'pib', 'pibs', 'pis',
+'piss', 'ping', 'pij', 'pic', 'pik', 'pit', 'pip', 'pih', 'ha', 'hag', 'hagg', 
'hags', 'han', 'hanj', 'hanh', 'had',
+'hal', 'halg', 'halm', 'halb', 'hals', 'halt', 'halp', 'halh', 'ham', 'hab', 
'habs', 'has', 'hass', 'hang', 'haj', 'hac',
+'hak', 'hat', 'hap', 'hah', 'hae', 'haeg', 'haegg', 'haegs', 'haen', 'haenj', 
'haenh', 'haed', 'hael', 'haelg', 'haelm', 'haelb',
+'haels', 'haelt', 'haelp', 'haelh', 'haem', 'haeb', 'haebs', 'haes', 'haess', 
'haeng', 'haej', 'haec', 'haek', 'haet', 'haep', 'haeh',
+'hya', 'hyag', 'hyagg', 'hyags', 'hyan', 'hyanj', 'hyanh', 'hyad', 'hyal', 
'hyalg', 'hyalm', 'hyalb', 'hyals', 'hyalt', 'hyalp', 'hyalh',
+'hyam', 'hyab', 'hyabs', 'hyas', 'hyass', 'hyang', 'hyaj', 'hyac', 'hyak', 
'hyat', 'hyap', 'hyah', 'hyae', 'hyaeg', 'hyaegg', 'hyaegs',
+'hyaen', 'hyaenj', 'hyaenh', 'hyaed', 'hyael', 'hyaelg', 'hyaelm', 'hyaelb', 
'hyaels', 'hyaelt', 'hyaelp', 'hyaelh', 'hyaem', 'hyaeb', 'hyaebs', 'hyaes',
+'hyaess', 'hyaeng', 'hyaej', 'hyaec', 'hyaek', 'hyaet', 'hyaep', 'hyaeh', 
'heo', 'heog', 'heogg', 'heogs', 'heon', 'heonj', 'heonh', 'heod',
+'heol', 'heolg', 'heolm', 'heolb', 'heols', 'heolt', 'heolp', 'heolh', 'heom', 
'heob', 'heobs', 'heos', 'heoss', 'heong', 'heoj', 'heoc',
+'heok', 'heot', 'heop', 'heoh', 'he', 'heg', 'hegg', 'hegs', 'hen', 'henj', 
'henh', 'hed', 'hel', 'helg', 'helm', 'helb',
+'hels', 'helt', 'help', 'helh', 'hem', 'heb', 'hebs', 'hes', 'hess', 'heng', 
'hej', 'hec', 'hek', 'het', 'hep', 'heh',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd6.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd6.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd6.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd6.pm       12 Oct 2011 
23:51:17 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd6] = [
+'hyeo', 'hyeog', 'hyeogg', 'hyeogs', 'hyeon', 'hyeonj', 'hyeonh', 'hyeod', 
'hyeol', 'hyeolg', 'hyeolm', 'hyeolb', 'hyeols', 'hyeolt', 'hyeolp', 'hyeolh',
+'hyeom', 'hyeob', 'hyeobs', 'hyeos', 'hyeoss', 'hyeong', 'hyeoj', 'hyeoc', 
'hyeok', 'hyeot', 'hyeop', 'hyeoh', 'hye', 'hyeg', 'hyegg', 'hyegs',
+'hyen', 'hyenj', 'hyenh', 'hyed', 'hyel', 'hyelg', 'hyelm', 'hyelb', 'hyels', 
'hyelt', 'hyelp', 'hyelh', 'hyem', 'hyeb', 'hyebs', 'hyes',
+'hyess', 'hyeng', 'hyej', 'hyec', 'hyek', 'hyet', 'hyep', 'hyeh', 'ho', 'hog', 
'hogg', 'hogs', 'hon', 'honj', 'honh', 'hod',
+'hol', 'holg', 'holm', 'holb', 'hols', 'holt', 'holp', 'holh', 'hom', 'hob', 
'hobs', 'hos', 'hoss', 'hong', 'hoj', 'hoc',
+'hok', 'hot', 'hop', 'hoh', 'hwa', 'hwag', 'hwagg', 'hwags', 'hwan', 'hwanj', 
'hwanh', 'hwad', 'hwal', 'hwalg', 'hwalm', 'hwalb',
+'hwals', 'hwalt', 'hwalp', 'hwalh', 'hwam', 'hwab', 'hwabs', 'hwas', 'hwass', 
'hwang', 'hwaj', 'hwac', 'hwak', 'hwat', 'hwap', 'hwah',
+'hwae', 'hwaeg', 'hwaegg', 'hwaegs', 'hwaen', 'hwaenj', 'hwaenh', 'hwaed', 
'hwael', 'hwaelg', 'hwaelm', 'hwaelb', 'hwaels', 'hwaelt', 'hwaelp', 'hwaelh',
+'hwaem', 'hwaeb', 'hwaebs', 'hwaes', 'hwaess', 'hwaeng', 'hwaej', 'hwaec', 
'hwaek', 'hwaet', 'hwaep', 'hwaeh', 'hoe', 'hoeg', 'hoegg', 'hoegs',
+'hoen', 'hoenj', 'hoenh', 'hoed', 'hoel', 'hoelg', 'hoelm', 'hoelb', 'hoels', 
'hoelt', 'hoelp', 'hoelh', 'hoem', 'hoeb', 'hoebs', 'hoes',
+'hoess', 'hoeng', 'hoej', 'hoec', 'hoek', 'hoet', 'hoep', 'hoeh', 'hyo', 
'hyog', 'hyogg', 'hyogs', 'hyon', 'hyonj', 'hyonh', 'hyod',
+'hyol', 'hyolg', 'hyolm', 'hyolb', 'hyols', 'hyolt', 'hyolp', 'hyolh', 'hyom', 
'hyob', 'hyobs', 'hyos', 'hyoss', 'hyong', 'hyoj', 'hyoc',
+'hyok', 'hyot', 'hyop', 'hyoh', 'hu', 'hug', 'hugg', 'hugs', 'hun', 'hunj', 
'hunh', 'hud', 'hul', 'hulg', 'hulm', 'hulb',
+'huls', 'hult', 'hulp', 'hulh', 'hum', 'hub', 'hubs', 'hus', 'huss', 'hung', 
'huj', 'huc', 'huk', 'hut', 'hup', 'huh',
+'hweo', 'hweog', 'hweogg', 'hweogs', 'hweon', 'hweonj', 'hweonh', 'hweod', 
'hweol', 'hweolg', 'hweolm', 'hweolb', 'hweols', 'hweolt', 'hweolp', 'hweolh',
+'hweom', 'hweob', 'hweobs', 'hweos', 'hweoss', 'hweong', 'hweoj', 'hweoc', 
'hweok', 'hweot', 'hweop', 'hweoh', 'hwe', 'hweg', 'hwegg', 'hwegs',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd7.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd7.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd7.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xd7.pm       12 Oct 2011 
23:51:17 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xd7] = [
+'hwen', 'hwenj', 'hwenh', 'hwed', 'hwel', 'hwelg', 'hwelm', 'hwelb', 'hwels', 
'hwelt', 'hwelp', 'hwelh', 'hwem', 'hweb', 'hwebs', 'hwes',
+'hwess', 'hweng', 'hwej', 'hwec', 'hwek', 'hwet', 'hwep', 'hweh', 'hwi', 
'hwig', 'hwigg', 'hwigs', 'hwin', 'hwinj', 'hwinh', 'hwid',
+'hwil', 'hwilg', 'hwilm', 'hwilb', 'hwils', 'hwilt', 'hwilp', 'hwilh', 'hwim', 
'hwib', 'hwibs', 'hwis', 'hwiss', 'hwing', 'hwij', 'hwic',
+'hwik', 'hwit', 'hwip', 'hwih', 'hyu', 'hyug', 'hyugg', 'hyugs', 'hyun', 
'hyunj', 'hyunh', 'hyud', 'hyul', 'hyulg', 'hyulm', 'hyulb',
+'hyuls', 'hyult', 'hyulp', 'hyulh', 'hyum', 'hyub', 'hyubs', 'hyus', 'hyuss', 
'hyung', 'hyuj', 'hyuc', 'hyuk', 'hyut', 'hyup', 'hyuh',
+'heu', 'heug', 'heugg', 'heugs', 'heun', 'heunj', 'heunh', 'heud', 'heul', 
'heulg', 'heulm', 'heulb', 'heuls', 'heult', 'heulp', 'heulh',
+'heum', 'heub', 'heubs', 'heus', 'heuss', 'heung', 'heuj', 'heuc', 'heuk', 
'heut', 'heup', 'heuh', 'hyi', 'hyig', 'hyigg', 'hyigs',
+'hyin', 'hyinj', 'hyinh', 'hyid', 'hyil', 'hyilg', 'hyilm', 'hyilb', 'hyils', 
'hyilt', 'hyilp', 'hyilh', 'hyim', 'hyib', 'hyibs', 'hyis',
+'hyiss', 'hying', 'hyij', 'hyic', 'hyik', 'hyit', 'hyip', 'hyih', 'hi', 'hig', 
'higg', 'higs', 'hin', 'hinj', 'hinh', 'hid',
+'hil', 'hilg', 'hilm', 'hilb', 'hils', 'hilt', 'hilp', 'hilh', 'him', 'hib', 
'hibs', 'his', 'hiss', 'hing', 'hij', 'hic',
+'hik', 'hit', 'hip', 'hih', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xf9.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xf9.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xf9.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xf9.pm       12 Oct 2011 
23:51:17 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xf9] = [
+'Kay ', 'Kayng ', 'Ke ', 'Ko ', 'Kol ', 'Koc ', 'Kwi ', 'Kwi ', 'Kyun ', 'Kul 
', 'Kum ', 'Na ', 'Na ', 'Na ', 'La ', 'Na ',
+'Na ', 'Na ', 'Na ', 'Na ', 'Nak ', 'Nak ', 'Nak ', 'Nak ', 'Nak ', 'Nak ', 
'Nak ', 'Nan ', 'Nan ', 'Nan ', 'Nan ', 'Nan ',
+'Nan ', 'Nam ', 'Nam ', 'Nam ', 'Nam ', 'Nap ', 'Nap ', 'Nap ', 'Nang ', 'Nang 
', 'Nang ', 'Nang ', 'Nang ', 'Nay ', 'Nayng ', 'No ',
+'No ', 'No ', 'No ', 'No ', 'No ', 'No ', 'No ', 'No ', 'No ', 'No ', 'No ', 
'Nok ', 'Nok ', 'Nok ', 'Nok ', 'Nok ',
+'Nok ', 'Non ', 'Nong ', 'Nong ', 'Nong ', 'Nong ', 'Noy ', 'Noy ', 'Noy ', 
'Noy ', 'Nwu ', 'Nwu ', 'Nwu ', 'Nwu ', 'Nwu ', 'Nwu ',
+'Nwu ', 'Nwu ', 'Nuk ', 'Nuk ', 'Num ', 'Nung ', 'Nung ', 'Nung ', 'Nung ', 
'Nung ', 'Twu ', 'La ', 'Lak ', 'Lak ', 'Lan ', 'Lyeng ',
+'Lo ', 'Lyul ', 'Li ', 'Pey ', 'Pen ', 'Pyen ', 'Pwu ', 'Pwul ', 'Pi ', 'Sak 
', 'Sak ', 'Sam ', 'Sayk ', 'Sayng ', 'Sep ', 'Sey ',
+'Sway ', 'Sin ', 'Sim ', 'Sip ', 'Ya ', 'Yak ', 'Yak ', 'Yang ', 'Yang ', 
'Yang ', 'Yang ', 'Yang ', 'Yang ', 'Yang ', 'Yang ', 'Ye ',
+'Ye ', 'Ye ', 'Ye ', 'Ye ', 'Ye ', 'Ye ', 'Ye ', 'Ye ', 'Ye ', 'Ye ', 'Yek ', 
'Yek ', 'Yek ', 'Yek ', 'Yen ', 'Yen ',
+'Yen ', 'Yen ', 'Yen ', 'Yen ', 'Yen ', 'Yen ', 'Yen ', 'Yen ', 'Yen ', 'Yen 
', 'Yen ', 'Yen ', 'Yel ', 'Yel ', 'Yel ', 'Yel ',
+'Yel ', 'Yel ', 'Yem ', 'Yem ', 'Yem ', 'Yem ', 'Yem ', 'Yep ', 'Yeng ', 'Yeng 
', 'Yeng ', 'Yeng ', 'Yeng ', 'Yeng ', 'Yeng ', 'Yeng ',
+'Yeng ', 'Yeng ', 'Yeng ', 'Yeng ', 'Yeng ', 'Yey ', 'Yey ', 'Yey ', 'Yey ', 
'O ', 'Yo ', 'Yo ', 'Yo ', 'Yo ', 'Yo ', 'Yo ',
+'Yo ', 'Yo ', 'Yo ', 'Yo ', 'Yong ', 'Wun ', 'Wen ', 'Yu ', 'Yu ', 'Yu ', 'Yu 
', 'Yu ', 'Yu ', 'Yu ', 'Yu ', 'Yu ',
+'Yu ', 'Yuk ', 'Yuk ', 'Yuk ', 'Yun ', 'Yun ', 'Yun ', 'Yun ', 'Yul ', 'Yul ', 
'Yul ', 'Yul ', 'Yung ', 'I ', 'I ', 'I ',
+'I ', 'I ', 'I ', 'I ', 'I ', 'I ', 'I ', 'I ', 'I ', 'I ', 'I ', 'Ik ', 'Ik 
', 'In ', 'In ', 'In ',
+'In ', 'In ', 'In ', 'In ', 'Im ', 'Im ', 'Im ', 'Ip ', 'Ip ', 'Ip ', 'Cang ', 
'Cek ', 'Ci ', 'Cip ', 'Cha ', 'Chek ',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfa.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfa.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfa.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfa.pm       12 Oct 2011 
23:51:17 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xfa] = [
+'Chey ', 'Thak ', 'Thak ', 'Thang ', 'Thayk ', 'Thong ', 'Pho ', 'Phok ', 
'Hang ', 'Hang ', 'Hyen ', 'Hwak ', 'Wu ', 'Huo ', qq{[?] }, qq{[?] },
+'Zhong ', qq{[?] }, 'Qing ', qq{[?] }, qq{[?] }, 'Xi ', 'Zhu ', 'Yi ', 'Li ', 
'Shen ', 'Xiang ', 'Fu ', 'Jing ', 'Jing ', 'Yu ', qq{[?] },
+'Hagi ', qq{[?] }, 'Zhu ', qq{[?] }, qq{[?] }, 'Yi ', 'Du ', qq{[?] }, qq{[?] 
}, qq{[?] }, 'Fan ', 'Si ', 'Guan ', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfb.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfb.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfb.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfb.pm       12 Oct 2011 
23:51:17 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xfb] = [
+'ff', 'fi', 'fl', 'ffi', 'ffl', 'st', 'st', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', 'mn', 'me', 'mi', 'vn', 'mkh', '[?]', '[?]', '[?]', 
'[?]', '[?]', 'yi', "", 'ay',
+qq{`}, "", 'd', 'h', 'k', 'l', 'm', 'm', 't', qq{+}, 'sh', 's', 'sh', 's', 
'a', 'a',
+"", 'b', 'g', 'd', 'h', 'v', 'z', '[?]', 't', 'y', 'k', 'k', 'l', '[?]', 'l', 
'[?]',
+'n', 'n', '[?]', 'p', 'p', '[?]', 'ts', 'ts', 'r', 'sh', 't', 'vo', 'b', 'k', 
'p', 'l',
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfc.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfc.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfc.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfc.pm       12 Oct 2011 
23:51:17 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xfc] = [
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfd.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfd.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfd.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfd.pm       12 Oct 2011 
23:51:17 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:43 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xfd] = [
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+'[?]', '[?]', "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+"", "", "", "", "", "", "", "", "", "", "", "", '[?]', '[?]', '[?]',
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfe.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfe.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfe.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xfe.pm       12 Oct 2011 
23:51:18 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:44 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xfe] = [
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]', '[?]',
+"", "", "", qq{~}, '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', 
'[?]', '[?]', '[?]', '[?]',
+qq{..}, qq{--}, qq{-}, qq{_}, qq{_}, qq{(}, qq{) }, qq{\{}, qq{\} }, qq{[}, 
qq{] }, qq{[(}, qq{)] }, qq{<<}, qq{>> }, qq{<},
+qq{> }, qq{[}, qq{] }, qq{\{}, qq{\}}, '[?]', '[?]', '[?]', '[?]', "", "", "", 
"", "", "", "",
+qq{,}, qq{,}, qq{.}, "", qq{;}, qq{:}, qq{?}, qq{!}, qq{-}, qq{(}, qq{)}, 
qq{\{}, qq{\}}, qq{\{}, qq{\}}, qq{#},
+qq{&}, qq{*}, qq{+}, qq{-}, qq{<}, qq{>}, qq{=}, "", qq{\\}, qq{\$}, qq{%}, 
address@hidden, '[?]', '[?]', '[?]', '[?]',
+"", "", "", '[?]', "", '[?]', "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+"", "", "", "", "", "", "", "", "", "", "", "", "", '[?]', '[?]', "",
+];
+1;

Index: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xff.pm
===================================================================
RCS file: maintain/lib/Text-Unidecode/lib/Text/Unidecode/xff.pm
diff -N maintain/lib/Text-Unidecode/lib/Text/Unidecode/xff.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Text-Unidecode/lib/Text/Unidecode/xff.pm       12 Oct 2011 
23:51:18 -0000      1.1
@@ -0,0 +1,20 @@
+# Time-stamp: "Sat Jul 14 00:27:44 2001 by Automatic Bizooty (__blocks2pm.plx)"
+$Text::Unidecode::Char[0xff] = [
+'[?]', qq{!}, qq{"}, qq{#}, qq{\$}, qq{%}, qq{&}, qq{'}, qq{(}, qq{)}, qq{*}, 
qq{+}, qq{,}, qq{-}, qq{.}, qq{/},
+'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', qq{:}, qq{;}, qq{<}, qq{=}, 
qq{>}, qq{?},
address@hidden, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 
'M', 'N', 'O',
+'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', qq{[}, qq{\\}, qq{]}, 
qq{^}, qq{_},
+qq{`}, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 
'o',
+'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', qq{\{}, qq{|}, qq{\}}, 
qq{~}, '[?]',
+'[?]', qq{.}, qq{[}, qq{]}, qq{,}, qq{*}, 'wo', 'a', 'i', 'u', 'e', 'o', 'ya', 
'yu', 'yo', 'tu',
+qq{+}, 'a', 'i', 'u', 'e', 'o', 'ka', 'ki', 'ku', 'ke', 'ko', 'sa', 'si', 
'su', 'se', 'so',
+'ta', 'ti', 'tu', 'te', 'to', 'na', 'ni', 'nu', 'ne', 'no', 'ha', 'hi', 'hu', 
'he', 'ho', 'ma',
+'mi', 'mu', 'me', 'mo', 'ya', 'yu', 'yo', 'ra', 'ri', 'ru', 're', 'ro', 'wa', 
'n', qq{:}, qq{;},
+"", 'g', 'gg', 'gs', 'n', 'nj', 'nh', 'd', 'dd', 'r', 'lg', 'lm', 'lb', 'ls', 
'lt', 'lp',
+'rh', 'm', 'b', 'bb', 'bs', 's', 'ss', "", 'j', 'jj', 'c', 'k', 't', 'p', 'h', 
'[?]',
+'[?]', '[?]', 'a', 'ae', 'ya', 'yae', 'eo', 'e', '[?]', '[?]', 'yeo', 'ye', 
'o', 'wa', 'wae', 'oe',
+'[?]', '[?]', 'yo', 'u', 'weo', 'we', 'wi', 'yu', '[?]', '[?]', 'eu', 'yi', 
'i', '[?]', '[?]', '[?]',
+qq{/C}, 'PS', qq{!}, qq{-}, qq{|}, qq{Y=}, qq{W=}, '[?]', qq{|}, qq{-}, qq{|}, 
qq{-}, qq{|}, qq{#}, 'O', '[?]',
+'[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', '[?]', qq{\{}, qq{|}, 
qq{\}}, "", "", "", "",
+];
+1;

Index: maintain/lib/Unicode-EastAsianWidth/Changes
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/Changes
diff -N maintain/lib/Unicode-EastAsianWidth/Changes
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/Changes 12 Oct 2011 23:51:18 -0000      
1.1
@@ -0,0 +1,58 @@
+[Changes for 1.30 - 2007-02-08]
+
+* Added miss-parsed lines of ranges in EastAsianWidth.txt, affecting
+  all but the first codepoints of codepoint ranges (as mentioned in
+  the changelog entry for version 1.20).
+
+  Reported by: JJ Jenq
+
+[Changes for 1.20 - 2007-02-08]
+
+* Added miss-parsed lines of ranges in EastAsianWidth.txt, affecting
+  all but the last codepoints of these codepoints:
+
+    3400..4DB5;W
+    4E00..9FBB;W
+    AC00..D7A3;W
+    D800..DB7F;N
+    DB80..DBFF;N
+    DC00..DFFF;N
+    E000..F8FF;A
+    20000..2A6D6;W
+    2A6D7..2F7FF;W
+    2FA1E..2FFFD;W
+    30000..3FFFD;W
+    F0000..FFFFD;A
+    100000..10FFFD;A
+
+  Reported by: JJ Jenq
+
+[Changes for 1.10 - 2007-10-14]
+
+* LICENSING CHANGE: This compilation and all individual files in it
+  are now under the permissive "MIT" license.
+
+* Updated to Unicode Database 5.0.0.
+
+* Ranges in EastAsianWidth.txt are now recognized, in addition to
+  individual codepoints.
+
+* If the EastAsianWidth.txt that came with site Perl is older than
+  the bundled version, we now prefer the bundled version instead.
+
+* Modernized the build infrastructure with Module::Install.
+
+* Tidied up source code, test files, and this changelog.
+
+[Changes for 1.02 - 2003-10-02]
+
+* Updated to Unicode Database 4.0.0.
+
+[Changes for 1.01 - 2002-09-22]
+
+* POD NAME fixes, spelling nits, etc.
+* Correct the PPD x86 binary name.
+
+[Changes for 1.00 - 2002-09-20]
+
+* Initial CPAN release.

Index: maintain/lib/Unicode-EastAsianWidth/MANIFEST
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/MANIFEST
diff -N maintain/lib/Unicode-EastAsianWidth/MANIFEST
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/MANIFEST        12 Oct 2011 23:51:19 
-0000      1.1
@@ -0,0 +1,17 @@
+Changes
+inc/Module/Install.pm
+inc/Module/Install/Base.pm
+inc/Module/Install/Can.pm
+inc/Module/Install/Fetch.pm
+inc/Module/Install/Makefile.pm
+inc/Module/Install/Metadata.pm
+inc/Module/Install/Win32.pm
+inc/Module/Install/WriteAll.pm
+lib/Unicode/EastAsianWidth.pm
+Makefile.PL
+MANIFEST                       This list of files
+META.yml                       Module meta-data (added by MakeMaker)
+README
+SIGNATURE
+t/0-signature.t
+t/1-basic.t

Index: maintain/lib/Unicode-EastAsianWidth/META.yml
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/META.yml
diff -N maintain/lib/Unicode-EastAsianWidth/META.yml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/META.yml        12 Oct 2011 23:51:19 
-0000      1.1
@@ -0,0 +1,22 @@
+--- 
+abstract: East Asian Width properties
+author: 
+  - Audrey Tang <address@hidden>
+distribution_type: module
+generated_by: Module::Install version 0.68
+license: mit
+meta-spec: 
+  url: http://module-build.sourceforge.net/META-spec-v1.3.html
+  version: 1.3
+name: Unicode-EastAsianWidth
+no_index: 
+  directory: 
+    - inc
+    - t
+provides: 
+  Unicode::EastAsianWidth: 
+    file: lib/Unicode/EastAsianWidth.pm
+    version: 1.30
+requires: 
+  perl: 5.6.0
+version: 1.30

Index: maintain/lib/Unicode-EastAsianWidth/Makefile.PL
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/Makefile.PL
diff -N maintain/lib/Unicode-EastAsianWidth/Makefile.PL
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/Makefile.PL     12 Oct 2011 23:51:20 
-0000      1.1
@@ -0,0 +1,120 @@
+#!/usr/bin/perl
+
+use strict;
+use inc::Module::Install;
+
+my $DefaultVersion  = 'v5.0.0';
+my $DefaultDate     = '2006-02-15';
+
+_build_pm();
+
+name        'Unicode-EastAsianWidth';
+all_from    'lib/Unicode/EastAsianWidth.pm';
+
+auto_provides;
+sign; WriteAll;
+
+sub _build_pm {
+    my $file;
+
+    foreach (@INC) {
+       $file = "$_/unicore/EastAsianWidth.txt";
+       last if -e $file;
+    }
+
+    my $use_bundled = 1;
+    TRY: {
+        unless (-e $file) {
+            print "*** Cannot find unicore/EastAsianWidth.txt\n";
+            last TRY;
+        }
+
+        unless (open EAW, $file) {
+            print "*** Cannot open $file for reading: $!\n";
+            last TRY;
+        }
+
+        unless (<EAW> =~ /EastAsianWidth/) {
+            print "*** Cannot parse $file.\n";
+            last TRY;
+        }
+
+        unless (<EAW> =~ /Date: (\d+-\d+-\d+)/ and $1 gt $DefaultDate) {
+            print "*** Installed table not newer than the bundled version.\n"; 
+            last TRY;
+        }
+
+        $use_bundled = 0;
+    }
+
+    if ($use_bundled) {
+       print "*** Using bundled EastAsianWidth table ($DefaultVersion).\n";
+       return;
+    }
+
+    my %ToFullName = (
+       N       => 'InEastAsianNeutral',
+       A       => 'InEastAsianAmbiguous',
+       H       => 'InEastAsianHalfwidth',
+       W       => 'InEastAsianWide',
+       F       => 'InEastAsianFullwidth',
+       Na      => 'InEastAsianNarrow',
+    );
+
+    my ($prev_code, $prev_categ) = '';
+    my $prev_code_end = '';
+    my %categ;
+
+    while (<EAW>) {
+        if (/^(\w+);(\w+)/) {
+            my ($code, $categ) = ($1, $2);
+            if ($prev_categ ne $categ) {
+                $categ{$ToFullName{$prev_categ}} .= 
"$prev_code\\t$prev_code_end\n" if $prev_categ;
+                $prev_code = $code;
+                $prev_categ = $categ;
+            }
+            $prev_code_end = $code;
+        }
+        elsif (/^(\w+)\.\.(\w+);(\w+)/) {
+            $categ{$ToFullName{$prev_categ}} .= 
"$prev_code\\t$prev_code_end\n" if $prev_categ;
+            $categ{$ToFullName{$3}} .= "$1\\t$2\n";
+            $prev_categ = '';
+        }
+    }
+
+    my $out;
+    unless (open PM, 'lib/Unicode/EastAsianWidth.pm') {
+       print "*** Cannot read module ($!), falling back to default 
($DefaultVersion)\n";
+       return;
+    }
+
+    while (<PM>) { $out .= $_;    last if /^### BEGIN ###$/ }
+
+    $out .= "our address@hidden = qw(\n" . join(
+       "\n", sort(values %ToFullName), qw(InFullwidth InHalfwidth)
+    ) . "\n);\n\n";
+
+    for my $name (sort values %ToFullName) {
+        $out .= << ".";
+sub $name {
+    return <<"END";
+$categ{$name}END
+}
+
+.
+    }
+
+    while (<PM>) { $out .= $_ and last if /^### END ###$/ }
+    while (<PM>) { $out .= $_ }
+
+    close PM;
+
+    chmod 0644, 'lib/Unicode/EastAsianWidth.pm';
+    unless (open PM, '>', 'lib/Unicode/EastAsianWidth.pm') {
+       print "*** Cannot write to module ($!), falling back to default 
($DefaultVersion)\n";
+       return;
+    }
+
+    print PM $out;
+    close PM;
+}

Index: maintain/lib/Unicode-EastAsianWidth/README
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/README
diff -N maintain/lib/Unicode-EastAsianWidth/README
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/README  12 Oct 2011 23:51:21 -0000      
1.1
@@ -0,0 +1,77 @@
+NAME
+    Unicode::EastAsianWidth - East Asian Width properties
+
+VERSION
+    This document describes version 1.10 of Unicode::EastAsianWidth,
+    released October 14, 2007.
+
+SYNOPSIS
+        use Unicode::EastAsianWidth;
+
+        $_ = chr(0x2588); # FULL BLOCK, an ambiguous-width character
+
+        /\p{InEastAsianAmbiguous}/; # true
+        /\p{InFullwidth}/;          # false
+
+        {
+            local $Unicode::EastAsianWidth::EastAsian = 1;
+            /\p{InFullwidth}/;      # true; only works on perl 5.8+
+        }
+
+DESCRIPTION
+    This module provide user-defined Unicode properties that deal with East
+    Asian characters' width status, as specified in
+    <http://www.unicode.org/unicode/reports/tr11/>.
+
+    It exports the following functions to the caller's scope, to be used by
+    Perl's Unicode matching system: "InEastAsianFullwidth",
+    "InEastAsianHalfwidth", "InEastAsianAmbiguous", "InEastAsianNarrow"
+    "InEastAsianWide", "InEastAsianNeutral".
+
+    In accord to TR11 cited above, two additional context-sensitive
+    properties are exported: "InFullwidth" (union of "Fullwidth" and "Wide")
+    and "InHalfwidth" (union of "Halfwidth", "Narrow" and "Neutral").
+
+    *Ambiguous* characters are treated by default as part of "InHalfwidth",
+    but you can modify this behaviour by assigning a true value to
+    $Unicode::EastAsianWidth::EastAsian.
+
+CAVEATS
+    Setting $Unicode::EastAsianWidth::EastAsian at run-time only works on
+    Perl version 5.8 or above. Perl 5.6 users must use a BEGIN block to set
+    it before the "use" statement:
+
+        BEGIN { $Unicode::EastAsianWidth::EastAsian = 1 }
+        use Unicode::EastAsianWidth;
+
+SEE ALSO
+    perlunicode, <http://www.unicode.org/unicode/reports/tr11/>
+
+AUTHORS
+    Audrey Tang <address@hidden>
+
+COPYRIGHT
+    Copyright 2002, 2003, 2007 by Audrey Tang <address@hidden>.
+
+    This software is released under the MIT license cited below.
+
+  The "MIT" License
+    Permission is hereby granted, free of charge, to any person obtaining a
+    copy of this software and associated documentation files (the
+    "Software"), to deal in the Software without restriction, including
+    without limitation the rights to use, copy, modify, merge, publish,
+    distribute, sublicense, and/or sell copies of the Software, and to
+    permit persons to whom the Software is furnished to do so, subject to
+    the following conditions:
+
+    The above copyright notice and this permission notice shall be included
+    in all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+

Index: maintain/lib/Unicode-EastAsianWidth/SIGNATURE
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/SIGNATURE
diff -N maintain/lib/Unicode-EastAsianWidth/SIGNATURE
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/SIGNATURE       12 Oct 2011 23:51:21 
-0000      1.1
@@ -0,0 +1,39 @@
+This file contains message digests of all files listed in MANIFEST,
+signed via the Module::Signature module, version 0.55.
+
+To verify the content in this distribution, first make sure you have
+Module::Signature installed, then type:
+
+    % cpansign -v
+
+It will check each file's integrity, as well as the signature's
+validity.  If "==> Signature verified OK! <==" is not displayed,
+the distribution may already have been compromised, and you should
+not run its Makefile.PL or Build.PL.
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+SHA1 aaaba4c041295376ffff8b95315922f8157b46f6 Changes
+SHA1 8b1030f09754711d705c19bba6d284160f2eed74 MANIFEST
+SHA1 b3e0235b6b9b00ad8b3a486b32b8b5bf46846162 META.yml
+SHA1 d82aed2fe2d5e2fcaa6e98c84a5498ee1d2360dc Makefile.PL
+SHA1 a38eb3d89d252a5e07bb7a175a0428173b5483b9 README
+SHA1 7e2cfa1b9efe0d502ee57717649c90ba4bd28ba9 inc/Module/Install.pm
+SHA1 6e1392d80a0f239eecd5664f7f21f922cedb9329 inc/Module/Install/Base.pm
+SHA1 f69417fe831d9cc22a78f00a617afadceade4d81 inc/Module/Install/Can.pm
+SHA1 c61d02895330310048bf388881b5e2e064031561 inc/Module/Install/Fetch.pm
+SHA1 54fcbed19232ec959bb17cfb4410599afc7f0779 inc/Module/Install/Makefile.pm
+SHA1 7d3be9b158e37b2b2c22084740099955623b1d56 inc/Module/Install/Metadata.pm
+SHA1 0a8b66180229ba2f9deaea1fedd0aacf7a7ace6b inc/Module/Install/Win32.pm
+SHA1 d3352eb33fe43a5f3ead513f645224fe34d73bc9 inc/Module/Install/WriteAll.pm
+SHA1 fa70cb9ca3126c37c52a161d89a5399ae7c752e0 lib/Unicode/EastAsianWidth.pm
+SHA1 41afe2c04bb573b40e283e2b210ed70a47a3f8ba t/0-signature.t
+SHA1 5bbe3de2b00d4803e83d780d3494566dc936b941 t/1-basic.t
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.3 (Darwin)
+
+iD8DBQFHrEOQtLPdNzw1AaARAnk/AKCgduldcFW25n64Z9tNtMAWrK0frgCfQlSe
+JtXwxVxce0N08qNUIgo8HPs=
+=ULLQ
+-----END PGP SIGNATURE-----

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install.pm   12 Oct 2011 
23:51:21 -0000      1.1
@@ -0,0 +1,281 @@
+#line 1
+package Module::Install;
+
+# For any maintainers:
+# The load order for Module::Install is a bit magic.
+# It goes something like this...
+#
+# IF ( host has Module::Install installed, creating author mode ) {
+#     1. Makefile.PL calls "use inc::Module::Install"
+#     2. $INC{inc/Module/Install.pm} set to installed version of 
inc::Module::Install
+#     3. The installed version of inc::Module::Install loads
+#     4. inc::Module::Install calls "require Module::Install"
+#     5. The ./inc/ version of Module::Install loads
+# } ELSE {
+#     1. Makefile.PL calls "use inc::Module::Install"
+#     2. $INC{inc/Module/Install.pm} set to ./inc/ version of Module::Install
+#     3. The ./inc/ version of Module::Install loads
+# }
+
+use 5.004;
+use strict 'vars';
+
+use vars qw{$VERSION};
+BEGIN {
+    # All Module::Install core packages now require synchronised versions.
+    # This will be used to ensure we don't accidentally load old or
+    # different versions of modules.
+    # This is not enforced yet, but will be some time in the next few
+    # releases once we can make sure it won't clash with custom
+    # Module::Install extensions.
+    $VERSION = '0.68';
+}
+
+# Whether or not inc::Module::Install is actually loaded, the
+# $INC{inc/Module/Install.pm} is what will still get set as long as
+# the caller loaded module this in the documented manner.
+# If not set, the caller may NOT have loaded the bundled version, and thus
+# they may not have a MI version that works with the Makefile.PL. This would
+# result in false errors or unexpected behaviour. And we don't want that.
+my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
+unless ( $INC{$file} ) {
+    die <<"END_DIE";
+Please invoke ${\__PACKAGE__} with:
+
+    use inc::${\__PACKAGE__};
+
+not:
+
+    use ${\__PACKAGE__};
+
+END_DIE
+}
+
+# If the script that is loading Module::Install is from the future,
+# then make will detect this and cause it to re-run over and over
+# again. This is bad. Rather than taking action to touch it (which
+# is unreliable on some platforms and requires write permissions)
+# for now we should catch this and refuse to run.
+if ( -f $0 and (stat($0))[9] > time ) {
+       die << "END_DIE";
+Your installer $0 has a modification time in the future.
+
+This is known to create infinite loops in make.
+
+Please correct this, then run $0 again.
+
+END_DIE
+}
+
+use Cwd        ();
+use File::Find ();
+use File::Path ();
+use FindBin;
+
+*inc::Module::Install::VERSION = *VERSION;
address@hidden::Module::Install::ISA     = __PACKAGE__;
+
+sub autoload {
+    my $self = shift;
+    my $who  = $self->_caller;
+    my $cwd  = Cwd::cwd();
+    my $sym  = "${who}::AUTOLOAD";
+    $sym->{$cwd} = sub {
+        my $pwd = Cwd::cwd();
+        if ( my $code = $sym->{$pwd} ) {
+            # delegate back to parent dirs
+            goto &$code unless $cwd eq $pwd;
+        }
+        $$sym =~ /([^:]+)$/ or die "Cannot autoload $who - $sym";
+        unshift @_, ($self, $1);
+        goto &{$self->can('call')} unless uc($1) eq $1;
+    };
+}
+
+sub import {
+    my $class = shift;
+    my $self  = $class->new(@_);
+    my $who   = $self->_caller;
+
+    unless ( -f $self->{file} ) {
+        require "$self->{path}/$self->{dispatch}.pm";
+        File::Path::mkpath("$self->{prefix}/$self->{author}");
+        $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => 
$self );
+        $self->{admin}->init;
+        @_ = ($class, _self => $self);
+        goto &{"$self->{name}::import"};
+    }
+
+    *{"${who}::AUTOLOAD"} = $self->autoload;
+    $self->preload;
+
+    # Unregister loader and worker packages so subdirs can use them again
+    delete $INC{"$self->{file}"};
+    delete $INC{"$self->{path}.pm"};
+}
+
+sub preload {
+    my ($self) = @_;
+
+    unless ( $self->{extensions} ) {
+        $self->load_extensions(
+            "$self->{prefix}/$self->{path}", $self
+        );
+    }
+
+    my @exts = @{$self->{extensions}};
+    unless ( @exts ) {
+        my $admin = $self->{admin};
+        @exts = $admin->load_all_extensions;
+    }
+
+    my %seen;
+    foreach my $obj ( @exts ) {
+        while (my ($method, $glob) = each %{ref($obj) . '::'}) {
+            next unless $obj->can($method);
+            next if $method =~ /^_/;
+            next if $method eq uc($method);
+            $seen{$method}++;
+        }
+    }
+
+    my $who = $self->_caller;
+    foreach my $name ( sort keys %seen ) {
+        *{"${who}::$name"} = sub {
+            ${"${who}::AUTOLOAD"} = "${who}::$name";
+            goto &{"${who}::AUTOLOAD"};
+        };
+    }
+}
+
+sub new {
+    my ($class, %args) = @_;
+
+    # ignore the prefix on extension modules built from top level.
+    my $base_path = Cwd::abs_path($FindBin::Bin);
+    unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+        delete $args{prefix};
+    }
+
+    return $args{_self} if $args{_self};
+
+    $args{dispatch} ||= 'Admin';
+    $args{prefix}   ||= 'inc';
+    $args{author}   ||= ($^O eq 'VMS' ? '_author' : '.author');
+    $args{bundle}   ||= 'inc/BUNDLES';
+    $args{base}     ||= $base_path;
+    $class =~ s/^\Q$args{prefix}\E:://;
+    $args{name}     ||= $class;
+    $args{version}  ||= $class->VERSION;
+    unless ( $args{path} ) {
+        $args{path}  = $args{name};
+        $args{path}  =~ s!::!/!g;
+    }
+    $args{file}     ||= "$args{base}/$args{prefix}/$args{path}.pm";
+
+    bless( \%args, $class );
+}
+
+sub call {
+       my ($self, $method) = @_;
+       my $obj = $self->load($method) or return;
+        splice(@_, 0, 2, $obj);
+       goto &{$obj->can($method)};
+}
+
+sub load {
+    my ($self, $method) = @_;
+
+    $self->load_extensions(
+        "$self->{prefix}/$self->{path}", $self
+    ) unless $self->{extensions};
+
+    foreach my $obj (@{$self->{extensions}}) {
+        return $obj if $obj->can($method);
+    }
+
+    my $admin = $self->{admin} or die <<"END_DIE";
+The '$method' method does not exist in the '$self->{prefix}' path!
+Please remove the '$self->{prefix}' directory and run $0 again to load it.
+END_DIE
+
+    my $obj = $admin->load($method, 1);
+    push @{$self->{extensions}}, $obj;
+
+    $obj;
+}
+
+sub load_extensions {
+    my ($self, $path, $top) = @_;
+
+    unless ( grep { lc $_ eq lc $self->{prefix} } @INC ) {
+        unshift @INC, $self->{prefix};
+    }
+
+    foreach my $rv ( $self->find_extensions($path) ) {
+        my ($file, $pkg) = @{$rv};
+        next if $self->{pathnames}{$pkg};
+
+        local $@;
+        my $new = eval { require $file; $pkg->can('new') };
+        unless ( $new ) {
+            warn $@ if $@;
+            next;
+        }
+        $self->{pathnames}{$pkg} = delete $INC{$file};
+        push @{$self->{extensions}}, &{$new}($pkg, _top => $top );
+    }
+
+    $self->{extensions} ||= [];
+}
+
+sub find_extensions {
+    my ($self, $path) = @_;
+
+    my @found;
+    File::Find::find( sub {
+        my $file = $File::Find::name;
+        return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is;
+        my $subpath = $1;
+        return if lc($subpath) eq lc($self->{dispatch});
+
+        $file = "$self->{path}/$subpath.pm";
+        my $pkg = "$self->{name}::$subpath";
+        $pkg =~ s!/!::!g;
+
+        # If we have a mixed-case package name, assume case has been preserved
+        # correctly.  Otherwise, root through the file to locate the 
case-preserved
+        # version of the package name.
+        if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
+            open PKGFILE, "<$subpath.pm" or die "find_extensions: Can't open 
$subpath.pm: $!";
+            my $in_pod = 0;
+            while ( <PKGFILE> ) {
+                $in_pod = 1 if /^=\w/;
+                $in_pod = 0 if /^=cut/;
+                next if ($in_pod || /^=cut/);  # skip pod text
+                next if /^\s*#/;               # and comments
+                if ( m/^\s*package\s+($pkg)\s*;/i ) {
+                    $pkg = $1;
+                    last;
+                }
+            }
+            close PKGFILE;
+        }
+
+        push @found, [ $file, $pkg ];
+    }, $path ) if -d $path;
+
+    @found;
+}
+
+sub _caller {
+    my $depth = 0;
+    my $call  = caller($depth);
+    while ( $call eq __PACKAGE__ ) {
+        $depth++;
+        $call = caller($depth);
+    }
+    return $call;
+}
+
+1;

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Base.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Base.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Base.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Base.pm      12 Oct 
2011 23:51:21 -0000      1.1
@@ -0,0 +1,70 @@
+#line 1
+package Module::Install::Base;
+
+$VERSION = '0.68';
+
+# Suspend handler for "redefined" warnings
+BEGIN {
+       my $w = $SIG{__WARN__};
+       $SIG{__WARN__} = sub { $w };
+}
+
+### This is the ONLY module that shouldn't have strict on
+# use strict;
+
+#line 41
+
+sub new {
+    my ($class, %args) = @_;
+
+    foreach my $method ( qw(call load) ) {
+        *{"$class\::$method"} = sub {
+            shift()->_top->$method(@_);
+        } unless defined &{"$class\::$method"};
+    }
+
+    bless( \%args, $class );
+}
+
+#line 61
+
+sub AUTOLOAD {
+    my $self = shift;
+    local $@;
+    my $autoload = eval { $self->_top->autoload } or return;
+    goto &$autoload;
+}
+
+#line 76
+
+sub _top { $_[0]->{_top} }
+
+#line 89
+
+sub admin {
+    $_[0]->_top->{admin} or Module::Install::Base::FakeAdmin->new;
+}
+
+sub is_admin {
+    $_[0]->admin->VERSION;
+}
+
+sub DESTROY {}
+
+package Module::Install::Base::FakeAdmin;
+
+my $Fake;
+sub new { $Fake ||= bless(address@hidden, $_[0]) }
+
+sub AUTOLOAD {}
+
+sub DESTROY {}
+
+# Restore warning handler
+BEGIN {
+       $SIG{__WARN__} = $SIG{__WARN__}->();
+}
+
+1;
+
+#line 138

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Can.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Can.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Can.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Can.pm       12 Oct 
2011 23:51:21 -0000      1.1
@@ -0,0 +1,82 @@
+#line 1
+package Module::Install::Can;
+
+use strict;
+use Module::Install::Base;
+use Config ();
+### This adds a 5.005 Perl version dependency.
+### This is a bug and will be fixed.
+use File::Spec ();
+use ExtUtils::MakeMaker ();
+
+use vars qw{$VERSION $ISCORE @ISA};
+BEGIN {
+       $VERSION = '0.68';
+       $ISCORE  = 1;
+       @ISA     = qw{Module::Install::Base};
+}
+
+# check if we can load some module
+### Upgrade this to not have to load the module if possible
+sub can_use {
+       my ($self, $mod, $ver) = @_;
+       $mod =~ s{::|\\}{/}g;
+       $mod .= '.pm' unless $mod =~ /\.pm$/i;
+
+       my $pkg = $mod;
+       $pkg =~ s{/}{::}g;
+       $pkg =~ s{\.pm$}{}i;
+
+       local $@;
+       eval { require $mod; $pkg->VERSION($ver || 0); 1 };
+}
+
+# check if we can run some command
+sub can_run {
+       my ($self, $cmd) = @_;
+
+       my $_cmd = $cmd;
+       return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd));
+
+       for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') {
+               my $abs = File::Spec->catfile($dir, $_[1]);
+               return $abs if (-x $abs or $abs = MM->maybe_command($abs));
+       }
+
+       return;
+}
+
+# can we locate a (the) C compiler
+sub can_cc {
+       my $self   = shift;
+       my @chunks = split(/ /, $Config::Config{cc}) or return;
+
+       # $Config{cc} may contain args; try to find out the program part
+       while (@chunks) {
+               return $self->can_run("@chunks") || (pop(@chunks), next);
+       }
+
+       return;
+}
+
+# Fix Cygwin bug on maybe_command();
+if ( $^O eq 'cygwin' ) {
+       require ExtUtils::MM_Cygwin;
+       require ExtUtils::MM_Win32;
+       if ( ! defined(&ExtUtils::MM_Cygwin::maybe_command) ) {
+               *ExtUtils::MM_Cygwin::maybe_command = sub {
+                       my ($self, $file) = @_;
+                       if ($file =~ m{^/cygdrive/}i and 
ExtUtils::MM_Win32->can('maybe_command')) {
+                               ExtUtils::MM_Win32->maybe_command($file);
+                       } else {
+                               ExtUtils::MM_Unix->maybe_command($file);
+                       }
+               }
+       }
+}
+
+1;
+
+__END__
+
+#line 157

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Fetch.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Fetch.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Fetch.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Fetch.pm     12 Oct 
2011 23:51:21 -0000      1.1
@@ -0,0 +1,93 @@
+#line 1
+package Module::Install::Fetch;
+
+use strict;
+use Module::Install::Base;
+
+use vars qw{$VERSION $ISCORE @ISA};
+BEGIN {
+       $VERSION = '0.68';
+       $ISCORE  = 1;
+       @ISA     = qw{Module::Install::Base};
+}
+
+sub get_file {
+    my ($self, %args) = @_;
+    my ($scheme, $host, $path, $file) = 
+        $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return;
+
+    if ( $scheme eq 'http' and ! eval { require LWP::Simple; 1 } ) {
+        $args{url} = $args{ftp_url}
+            or (warn("LWP support unavailable!\n"), return);
+        ($scheme, $host, $path, $file) = 
+            $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return;
+    }
+
+    $|++;
+    print "Fetching '$file' from $host... ";
+
+    unless (eval { require Socket; Socket::inet_aton($host) }) {
+        warn "'$host' resolve failed!\n";
+        return;
+    }
+
+    return unless $scheme eq 'ftp' or $scheme eq 'http';
+
+    require Cwd;
+    my $dir = Cwd::getcwd();
+    chdir $args{local_dir} or return if exists $args{local_dir};
+
+    if (eval { require LWP::Simple; 1 }) {
+        LWP::Simple::mirror($args{url}, $file);
+    }
+    elsif (eval { require Net::FTP; 1 }) { eval {
+        # use Net::FTP to get past firewall
+        my $ftp = Net::FTP->new($host, Passive => 1, Timeout => 600);
+        $ftp->login("anonymous", 'address@hidden');
+        $ftp->cwd($path);
+        $ftp->binary;
+        $ftp->get($file) or (warn("$!\n"), return);
+        $ftp->quit;
+    } }
+    elsif (my $ftp = $self->can_run('ftp')) { eval {
+        # no Net::FTP, fallback to ftp.exe
+        require FileHandle;
+        my $fh = FileHandle->new;
+
+        local $SIG{CHLD} = 'IGNORE';
+        unless ($fh->open("|$ftp -n")) {
+            warn "Couldn't open ftp: $!\n";
+            chdir $dir; return;
+        }
+
+        my @dialog = split(/\n/, <<"END_FTP");
+open $host
+user anonymous address@hidden
+cd $path
+binary
+get $file $file
+quit
+END_FTP
+        foreach (@dialog) { $fh->print("$_\n") }
+        $fh->close;
+    } }
+    else {
+        warn "No working 'ftp' program available!\n";
+        chdir $dir; return;
+    }
+
+    unless (-f $file) {
+        warn "Fetching failed: address@hidden";
+        chdir $dir; return;
+    }
+
+    return if exists $args{size} and -s $file != $args{size};
+    system($args{run}) if exists $args{run};
+    unlink($file) if $args{remove};
+
+    print(((!exists $args{check_for} or -e $args{check_for})
+        ? "done!" : "failed! ($!)"), "\n");
+    chdir $dir; return !$?;
+}
+
+1;

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Makefile.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Makefile.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Makefile.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Makefile.pm  12 Oct 
2011 23:51:21 -0000      1.1
@@ -0,0 +1,237 @@
+#line 1
+package Module::Install::Makefile;
+
+use strict 'vars';
+use Module::Install::Base;
+use ExtUtils::MakeMaker ();
+
+use vars qw{$VERSION $ISCORE @ISA};
+BEGIN {
+       $VERSION = '0.68';
+       $ISCORE  = 1;
+       @ISA     = qw{Module::Install::Base};
+}
+
+sub Makefile { $_[0] }
+
+my %seen = ();
+
+sub prompt {
+       shift;
+
+       # Infinite loop protection
+       my @c = caller();
+       if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) {
+               die "Caught an potential prompt infinite loop 
($c[1]|$c[2]|$_[0])";
+       }
+
+       # In automated testing, always use defaults
+       if ( $ENV{AUTOMATED_TESTING} and ! $ENV{PERL_MM_USE_DEFAULT} ) {
+               local $ENV{PERL_MM_USE_DEFAULT} = 1;
+               goto &ExtUtils::MakeMaker::prompt;
+       } else {
+               goto &ExtUtils::MakeMaker::prompt;
+       }
+}
+
+sub makemaker_args {
+       my $self = shift;
+       my $args = ($self->{makemaker_args} ||= {});
+       %$args = ( %$args, @_ ) if @_;
+       $args;
+}
+
+# For mm args that take multiple space-seperated args,
+# append an argument to the current list.
+sub makemaker_append {
+       my $self = sShift;
+       my $name = shift;
+       my $args = $self->makemaker_args;
+       $args->{name} = defined $args->{$name}
+               ? join( ' ', $args->{name}, @_ )
+               : join( ' ', @_ );
+}
+
+sub build_subdirs {
+       my $self    = shift;
+       my $subdirs = $self->makemaker_args->{DIR} ||= [];
+       for my $subdir (@_) {
+               push @$subdirs, $subdir;
+       }
+}
+
+sub clean_files {
+       my $self  = shift;
+       my $clean = $self->makemaker_args->{clean} ||= {};
+       %$clean = (
+               %$clean, 
+               FILES => join(' ', grep length, $clean->{FILES}, @_),
+       );
+}
+
+sub realclean_files {
+       my $self  = shift;
+       my $realclean = $self->makemaker_args->{realclean} ||= {};
+       %$realclean = (
+               %$realclean, 
+               FILES => join(' ', grep length, $realclean->{FILES}, @_),
+       );
+}
+
+sub libs {
+       my $self = shift;
+       my $libs = ref $_[0] ? shift : [ shift ];
+       $self->makemaker_args( LIBS => $libs );
+}
+
+sub inc {
+       my $self = shift;
+       $self->makemaker_args( INC => shift );
+}
+
+my %test_dir = ();
+
+sub _wanted_t {
+       /\.t$/ and -f $_ and $test_dir{$File::Find::dir} = 1;
+}
+
+sub tests_recursive {
+       my $self = shift;
+       if ( $self->tests ) {
+               die "tests_recursive will not work if tests are already 
defined";
+       }
+       my $dir = shift || 't';
+       unless ( -d $dir ) {
+               die "tests_recursive dir '$dir' does not exist";
+       }
+       require File::Find;
+       %test_dir = ();
+       File::Find::find( \&_wanted_t, $dir );
+       $self->tests( join ' ', map { "$_/*.t" } sort keys %test_dir );
+}
+
+sub write {
+       my $self = shift;
+       die "&Makefile->write() takes no arguments\n" if @_;
+
+       my $args = $self->makemaker_args;
+       $args->{DISTNAME} = $self->name;
+       $args->{NAME}     = $self->module_name || $self->name || 
$self->determine_NAME($args);
+       $args->{VERSION}  = $self->version || $self->determine_VERSION($args);
+       $args->{NAME}     =~ s/-/::/g;
+       if ( $self->tests ) {
+               $args->{test} = { TESTS => $self->tests };
+       }
+       if ($] >= 5.005) {
+               $args->{ABSTRACT} = $self->abstract;
+               $args->{AUTHOR}   = $self->author;
+       }
+       if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
+               $args->{NO_META} = 1;
+       }
+       if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 and $self->sign ) {
+               $args->{SIGN} = 1;
+       }
+       unless ( $self->is_admin ) {
+               delete $args->{SIGN};
+       }
+
+       # merge both kinds of requires into prereq_pm
+       my $prereq = ($args->{PREREQ_PM} ||= {});
+       %$prereq = ( %$prereq,
+               map { @$_ }
+               map { @$_ }
+               grep $_,
+               ($self->build_requires, $self->requires)
+       );
+
+       # merge both kinds of requires into prereq_pm
+       my $subdirs = ($args->{DIR} ||= []);
+       if ($self->bundles) {
+               foreach my $bundle (@{ $self->bundles }) {
+                       my ($file, $dir) = @$bundle;
+                       push @$subdirs, $dir if -d $dir;
+                       delete $prereq->{$file};
+               }
+       }
+
+       if ( my $perl_version = $self->perl_version ) {
+               eval "use $perl_version; 1"
+                       or die "ERROR: perl: Version $] is installed, "
+                       . "but we need version >= $perl_version";
+       }
+
+       $args->{INSTALLDIRS} = $self->installdirs;
+
+       my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_})} 
keys %$args;
+
+       my $user_preop = delete $args{dist}->{PREOP};
+       if (my $preop = $self->admin->preop($user_preop)) {
+               $args{dist} = $preop;
+       }
+
+       my $mm = ExtUtils::MakeMaker::WriteMakefile(%args);
+       $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile');
+}
+
+sub fix_up_makefile {
+       my $self          = shift;
+       my $makefile_name = shift;
+       my $top_class     = ref($self->_top) || '';
+       my $top_version   = $self->_top->VERSION || '';
+
+       my $preamble = $self->preamble 
+               ? "# Preamble by $top_class $top_version\n"
+                       . $self->preamble
+               : '';
+       my $postamble = "# Postamble by $top_class $top_version\n"
+               . ($self->postamble || '');
+
+       local *MAKEFILE;
+       open MAKEFILE, "< $makefile_name" or die "fix_up_makefile: Couldn't 
open $makefile_name: $!";
+       my $makefile = do { local $/; <MAKEFILE> };
+       close MAKEFILE or die $!;
+
+       $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
+       $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
+       $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g;
+       $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m;
+       $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m;
+
+       # Module::Install will never be used to build the Core Perl
+       # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks
+       # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist
+       $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m;
+       #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m;
+
+       # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as 
well.
+       $makefile =~ s/("?)-I\$\(PERL_LIB\)\1//g;
+
+       # XXX - This is currently unused; not sure if it breaks other MM-users
+       # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg;
+
+       open  MAKEFILE, "> $makefile_name" or die "fix_up_makefile: Couldn't 
open $makefile_name: $!";
+       print MAKEFILE  "$preamble$makefile$postamble" or die $!;
+       close MAKEFILE  or die $!;
+
+       1;
+}
+
+sub preamble {
+       my ($self, $text) = @_;
+       $self->{preamble} = $text . $self->{preamble} if defined $text;
+       $self->{preamble};
+}
+
+sub postamble {
+       my ($self, $text) = @_;
+       $self->{postamble} ||= $self->admin->postamble;
+       $self->{postamble} .= $text if defined $text;
+       $self->{postamble}
+}
+
+1;
+
+__END__
+
+#line 363

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Metadata.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Metadata.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Metadata.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Metadata.pm  12 Oct 
2011 23:51:22 -0000      1.1
@@ -0,0 +1,336 @@
+#line 1
+package Module::Install::Metadata;
+
+use strict 'vars';
+use Module::Install::Base;
+
+use vars qw{$VERSION $ISCORE @ISA};
+BEGIN {
+       $VERSION = '0.68';
+       $ISCORE  = 1;
+       @ISA     = qw{Module::Install::Base};
+}
+
+my @scalar_keys = qw{
+    name module_name abstract author version license
+    distribution_type perl_version tests installdirs
+};
+
+my @tuple_keys = qw{
+    build_requires requires recommends bundles
+};
+
+sub Meta            { shift        }
+sub Meta_ScalarKeys { @scalar_keys }
+sub Meta_TupleKeys  { @tuple_keys  }
+
+foreach my $key (@scalar_keys) {
+    *$key = sub {
+        my $self = shift;
+        return $self->{values}{$key} if defined wantarray and address@hidden;
+        $self->{values}{$key} = shift;
+        return $self;
+    };
+}
+
+foreach my $key (@tuple_keys) {
+    *$key = sub {
+        my $self = shift;
+        return $self->{values}{$key} unless @_;
+
+        my @rv;
+        while (@_) {
+            my $module = shift or last;
+            my $version = shift || 0;
+            if ( $module eq 'perl' ) {
+                $version =~ s{^(\d+)\.(\d+)\.(\d+)}
+                             {$1 + $2/1_000 + $3/1_000_000}e;
+                $self->perl_version($version);
+                next;
+            }
+            my $rv = [ $module, $version ];
+            push @rv, $rv;
+        }
+        push @{ $self->{values}{$key} }, @rv;
+        @rv;
+    };
+}
+
+# configure_requires is currently a null-op
+sub configure_requires { 1 }
+
+# Aliases for build_requires that will have alternative
+# meanings in some future version of META.yml.
+sub test_requires      { shift->build_requires(@_)  }
+sub install_requires   { shift->build_requires(@_)  }
+
+# Aliases for installdirs options
+sub install_as_core    { $_[0]->installdirs('perl')   }
+sub install_as_cpan    { $_[0]->installdirs('site')   }
+sub install_as_site    { $_[0]->installdirs('site')   }
+sub install_as_vendor  { $_[0]->installdirs('vendor') }
+
+sub sign {
+    my $self = shift;
+    return $self->{'values'}{'sign'} if defined wantarray and ! @_;
+    $self->{'values'}{'sign'} = ( @_ ? $_[0] : 1 );
+    return $self;
+}
+
+sub dynamic_config {
+       my $self = shift;
+       unless ( @_ ) {
+               warn "You MUST provide an explicit true/false value to 
dynamic_config, skipping\n";
+               return $self;
+       }
+       $self->{'values'}{'dynamic_config'} = $_[0] ? 1 : 0;
+       return $self;
+}
+
+sub all_from {
+    my ( $self, $file ) = @_;
+
+    unless ( defined($file) ) {
+        my $name = $self->name
+            or die "all_from called with no args without setting name() first";
+        $file = join('/', 'lib', split(/-/, $name)) . '.pm';
+        $file =~ s{.*/}{} unless -e $file;
+        die "all_from: cannot find $file from $name" unless -e $file;
+    }
+
+    $self->version_from($file)      unless $self->version;
+    $self->perl_version_from($file) unless $self->perl_version;
+
+    # The remaining probes read from POD sections; if the file
+    # has an accompanying .pod, use that instead
+    my $pod = $file;
+    if ( $pod =~ s/\.pm$/.pod/i and -e $pod ) {
+        $file = $pod;
+    }
+
+    $self->author_from($file)   unless $self->author;
+    $self->license_from($file)  unless $self->license;
+    $self->abstract_from($file) unless $self->abstract;
+}
+
+sub provides {
+    my $self     = shift;
+    my $provides = ( $self->{values}{provides} ||= {} );
+    %$provides = (%$provides, @_) if @_;
+    return $provides;
+}
+
+sub auto_provides {
+    my $self = shift;
+    return $self unless $self->is_admin;
+
+    unless (-e 'MANIFEST') {
+        warn "Cannot deduce auto_provides without a MANIFEST, skipping\n";
+        return $self;
+    }
+
+    # Avoid spurious warnings as we are not checking manifest here.
+
+    local $SIG{__WARN__} = sub {1};
+    require ExtUtils::Manifest;
+    local *ExtUtils::Manifest::manicheck = sub { return };
+
+    require Module::Build;
+    my $build = Module::Build->new(
+        dist_name    => $self->name,
+        dist_version => $self->version,
+        license      => $self->license,
+    );
+    $self->provides(%{ $build->find_dist_packages || {} });
+}
+
+sub feature {
+    my $self     = shift;
+    my $name     = shift;
+    my $features = ( $self->{values}{features} ||= [] );
+
+    my $mods;
+
+    if ( @_ == 1 and ref( $_[0] ) ) {
+        # The user used ->feature like ->features by passing in the second
+        # argument as a reference.  Accomodate for that.
+        $mods = $_[0];
+    } else {
+        $mods = address@hidden;
+    }
+
+    my $count = 0;
+    push @$features, (
+        $name => [
+            map {
+                ref($_) ? ( ref($_) eq 'HASH' ) ? %$_
+                                                : @$_
+                        : $_
+            } @$mods
+        ]
+    );
+
+    return @$features;
+}
+
+sub features {
+    my $self = shift;
+    while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) {
+        $self->feature( $name, @$mods );
+    }
+    return $self->{values}->{features}
+       ? @{ $self->{values}->{features} }
+       : ();
+}
+
+sub no_index {
+    my $self = shift;
+    my $type = shift;
+    push @{ $self->{values}{no_index}{$type} }, @_ if $type;
+    return $self->{values}{no_index};
+}
+
+sub read {
+    my $self = shift;
+    $self->include_deps( 'YAML', 0 );
+
+    require YAML;
+    my $data = YAML::LoadFile('META.yml');
+
+    # Call methods explicitly in case user has already set some values.
+    while ( my ( $key, $value ) = each %$data ) {
+        next unless $self->can($key);
+        if ( ref $value eq 'HASH' ) {
+            while ( my ( $module, $version ) = each %$value ) {
+                $self->can($key)->($self, $module => $version );
+            }
+        }
+        else {
+            $self->can($key)->($self, $value);
+        }
+    }
+    return $self;
+}
+
+sub write {
+    my $self = shift;
+    return $self unless $self->is_admin;
+    $self->admin->write_meta;
+    return $self;
+}
+
+sub version_from {
+    my ( $self, $file ) = @_;
+    require ExtUtils::MM_Unix;
+    $self->version( ExtUtils::MM_Unix->parse_version($file) );
+}
+
+sub abstract_from {
+    my ( $self, $file ) = @_;
+    require ExtUtils::MM_Unix;
+    $self->abstract(
+        bless(
+            { DISTNAME => $self->name },
+            'ExtUtils::MM_Unix'
+        )->parse_abstract($file)
+     );
+}
+
+sub _slurp {
+    my ( $self, $file ) = @_;
+
+    local *FH;
+    open FH, "< $file" or die "Cannot open $file.pod: $!";
+    do { local $/; <FH> };
+}
+
+sub perl_version_from {
+    my ( $self, $file ) = @_;
+
+    if (
+        $self->_slurp($file) =~ m/
+        ^
+        use \s*
+        v?
+        ([\d_\.]+)
+        \s* ;
+    /ixms
+      )
+    {
+        my $v = $1;
+        $v =~ s{_}{}g;
+        $self->perl_version($1);
+    }
+    else {
+        warn "Cannot determine perl version info from $file\n";
+        return;
+    }
+}
+
+sub author_from {
+    my ( $self, $file ) = @_;
+    my $content = $self->_slurp($file);
+    if ($content =~ m/
+        =head \d \s+ (?:authors?)\b \s*
+        ([^\n]*)
+        |
+        =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s*
+        .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s*
+        ([^\n]*)
+    /ixms) {
+        my $author = $1 || $2;
+        $author =~ s{E<lt>}{<}g;
+        $author =~ s{E<gt>}{>}g;
+        $self->author($author); 
+    }
+    else {
+        warn "Cannot determine author info from $file\n";
+    }
+}
+
+sub license_from {
+    my ( $self, $file ) = @_;
+
+    if (
+        $self->_slurp($file) =~ m/
+        (
+            =head \d \s+
+            (?:licen[cs]e|licensing|copyright|legal)\b
+            .*?
+        )
+        (=head\\d.*|=cut.*|)
+        \z
+    /ixms
+      )
+    {
+        my $license_text = $1;
+        my @phrases      = (
+            'under the same (?:terms|license) as perl itself' => 'perl',       
 1,
+            'GNU public license'                              => 'gpl',        
 1,
+            'GNU lesser public license'                       => 'gpl',        
 1,
+            'BSD license'                                     => 'bsd',        
 1,
+            'Artistic license'                                => 'artistic',   
 1,
+            'GPL'                                             => 'gpl',        
 1,
+            'LGPL'                                            => 'lgpl',       
 1,
+            'BSD'                                             => 'bsd',        
 1,
+            'Artistic'                                        => 'artistic',   
 1,
+            'MIT'                                             => 'mit',        
 1,
+            'proprietary'                                     => 
'proprietary', 0,
+        );
+        while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
+            $pattern =~ s{\s+}{\\s+}g;
+            if ( $license_text =~ /\b$pattern\b/i ) {
+                if ( $osi and $license_text =~ /All rights reserved/i ) {
+                        warn "LEGAL WARNING: 'All rights reserved' may 
invalidate Open Source licenses. Consider removing it.";
+               }
+                $self->license($license);
+                return 1;
+            }
+        }
+    }
+
+    warn "Cannot determine license info from $file\n";
+    return 'unknown';
+}
+
+1;

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Win32.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Win32.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Win32.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/Win32.pm     12 Oct 
2011 23:51:22 -0000      1.1
@@ -0,0 +1,65 @@
+#line 1
+package Module::Install::Win32;
+
+use strict;
+use Module::Install::Base;
+
+use vars qw{$VERSION $ISCORE @ISA};
+BEGIN {
+       $VERSION = '0.68';
+       $ISCORE  = 1;
+       @ISA     = qw{Module::Install::Base};
+}
+
+# determine if the user needs nmake, and download it if needed
+sub check_nmake {
+       my $self = shift;
+       $self->load('can_run');
+       $self->load('get_file');
+       
+       require Config;
+       return unless (
+               $^O eq 'MSWin32'                     and
+               $Config::Config{make}                and
+               $Config::Config{make} =~ /^nmake\b/i and
+               ! $self->can_run('nmake')
+       );
+
+       print "The required 'nmake' executable not found, fetching it...\n";
+
+       require File::Basename;
+       my $rv = $self->get_file(
+               url       => 
'http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe',
+               ftp_url   => 
'ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe',
+               local_dir => File::Basename::dirname($^X),
+               size      => 51928,
+               run       => 'Nmake15.exe /o > nul',
+               check_for => 'Nmake.exe',
+               remove    => 1,
+       );
+
+       if (!$rv) {
+        die <<'END_MESSAGE';
+
+-------------------------------------------------------------------------------
+
+Since you are using Microsoft Windows, you will need the 'nmake' utility
+before installation. It's available at:
+
+  http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
+      or
+  ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe
+
+Please download the file manually, save it to a directory in %PATH% (e.g.
+C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to
+that directory, and run "Nmake15.exe" from there; that will create the
+'nmake.exe' file needed by this module.
+
+You may then resume the installation process described in README.
+
+-------------------------------------------------------------------------------
+END_MESSAGE
+       }
+}
+
+1;

Index: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/WriteAll.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/WriteAll.pm
diff -N maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/WriteAll.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/inc/Module/Install/WriteAll.pm  12 Oct 
2011 23:51:22 -0000      1.1
@@ -0,0 +1,43 @@
+#line 1
+package Module::Install::WriteAll;
+
+use strict;
+use Module::Install::Base;
+
+use vars qw{$VERSION $ISCORE @ISA};
+BEGIN {
+       $VERSION = '0.68';
+       $ISCORE  = 1;
+       @ISA     = qw{Module::Install::Base};
+}
+
+sub WriteAll {
+    my $self = shift;
+    my %args = (
+        meta        => 1,
+        sign        => 0,
+        inline      => 0,
+        check_nmake => 1,
+        @_
+    );
+
+    $self->sign(1)                if $args{sign};
+    $self->Meta->write            if $args{meta};
+    $self->admin->WriteAll(%args) if $self->is_admin;
+
+    if ( $0 =~ /Build.PL$/i ) {
+        $self->Build->write;
+    } else {
+        $self->check_nmake if $args{check_nmake};
+        unless ( $self->makemaker_args->{'PL_FILES'} ) {
+               $self->makemaker_args( PL_FILES => {} );
+        }
+        if ($args{inline}) {
+            $self->Inline->write;
+        } else {
+            $self->Makefile->write;
+        }
+    }
+}
+
+1;

Index: maintain/lib/Unicode-EastAsianWidth/lib/Unicode/EastAsianWidth.pm
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/lib/Unicode/EastAsianWidth.pm
diff -N maintain/lib/Unicode-EastAsianWidth/lib/Unicode/EastAsianWidth.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/lib/Unicode/EastAsianWidth.pm   12 Oct 
2011 23:51:22 -0000      1.1
@@ -0,0 +1,516 @@
+package Unicode::EastAsianWidth;
+
+use 5.006;
+use strict;
+use base 'Exporter';
+use vars qw( $VERSION $EastAsian );
+
+BEGIN {
+    $VERSION = '1.30';
+    $EastAsian = 0;
+};
+
+sub InFullwidth {
+    return InEastAsianFullwidth().
+           InEastAsianWide().
+           ($EastAsian ? InEastAsianAmbiguous() : '');
+}
+
+sub InHalfwidth {
+    return InEastAsianHalfwidth().
+           InEastAsianNarrow().
+           InEastAsianNeutral().
+           ($EastAsian ? '' : InEastAsianAmbiguous());
+}
+
+### BEGIN ###
+our @EXPORT = qw(
+InEastAsianAmbiguous
+InEastAsianFullwidth
+InEastAsianHalfwidth
+InEastAsianNarrow
+InEastAsianNeutral
+InEastAsianWide
+InFullwidth
+InHalfwidth
+);
+
+sub InEastAsianAmbiguous {
+    return <<"END";
+00A1\t00A1
+00A4\t00A4
+00A7\t00A8
+00AA\t00AA
+00AD\t00AE
+00B0\t00B4
+00B6\t00BA
+00BC\t00BF
+00C6\t00C6
+00D0\t00D0
+00D7\t00D8
+00DE\t00E1
+00E6\t00E6
+00E8\t00EA
+00EC\t00ED
+00F0\t00F0
+00F2\t00F3
+00F7\t00FA
+00FC\t00FC
+00FE\t00FE
+0101\t0101
+0111\t0111
+0113\t0113
+011B\t011B
+0126\t0127
+012B\t012B
+0131\t0133
+0138\t0138
+013F\t0142
+0144\t0144
+0148\t014B
+014D\t014D
+0152\t0153
+0166\t0167
+016B\t016B
+01CE\t01CE
+01D0\t01D0
+01D2\t01D2
+01D4\t01D4
+01D6\t01D6
+01D8\t01D8
+01DA\t01DA
+01DC\t01DC
+0251\t0251
+0261\t0261
+02C4\t02C4
+02C7\t02C7
+02C9\t02CB
+02CD\t02CD
+02D0\t02D0
+02D8\t02DB
+02DD\t02DD
+02DF\t02DF
+0300\t036F
+0391\t03A9
+03B1\t03C1
+03C3\t03C9
+0401\t0401
+0410\t044F
+0451\t0451
+2010\t2010
+2013\t2016
+2018\t2019
+201C\t201D
+2020\t2022
+2024\t2027
+2030\t2030
+2032\t2033
+2035\t2035
+203B\t203B
+203E\t203E
+2074\t2074
+207F\t207F
+2081\t2084
+20AC\t20AC
+2103\t2103
+2105\t2105
+2109\t2109
+2113\t2113
+2116\t2116
+2121\t2122
+2126\t2126
+212B\t212B
+2153\t2154
+215B\t215E
+2160\t216B
+2170\t2179
+2190\t2199
+21B8\t21B9
+21D2\t21D2
+21D4\t21D4
+21E7\t21E7
+2200\t2200
+2202\t2203
+2207\t2208
+220B\t220B
+220F\t220F
+2211\t2211
+2215\t2215
+221A\t221A
+221D\t2220
+2223\t2223
+2225\t2225
+2227\t222C
+222E\t222E
+2234\t2237
+223C\t223D
+2248\t2248
+224C\t224C
+2252\t2252
+2260\t2261
+2264\t2267
+226A\t226B
+226E\t226F
+2282\t2283
+2286\t2287
+2295\t2295
+2299\t2299
+22A5\t22A5
+22BF\t22BF
+2312\t2312
+2460\t24E9
+24EB\t254B
+2550\t2573
+2580\t258F
+2592\t2595
+25A0\t25A1
+25A3\t25A9
+25B2\t25B3
+25B6\t25B7
+25BC\t25BD
+25C0\t25C1
+25C6\t25C8
+25CB\t25CB
+25CE\t25D1
+25E2\t25E5
+25EF\t25EF
+2605\t2606
+2609\t2609
+260E\t260F
+2614\t2615
+261C\t261C
+261E\t261E
+2640\t2640
+2642\t2642
+2660\t2661
+2663\t2665
+2667\t266A
+266C\t266D
+266F\t266F
+273D\t273D
+2776\t277F
+E000\tF8FF
+FE00\tFE0F
+FFFD\tFFFD
+E0100\tE01EF
+F0000\tFFFFD
+100000\t10FFFD
+END
+}
+
+sub InEastAsianFullwidth {
+    return <<"END";
+3000\t3000
+FF01\tFF60
+FFE0\tFFE6
+END
+}
+
+sub InEastAsianHalfwidth {
+    return <<"END";
+20A9\t20A9
+FF61\tFFDC
+FFE8\tFFEE
+END
+}
+
+sub InEastAsianNarrow {
+    return <<"END";
+0020\t007E
+00A2\t00A3
+00A5\t00A6
+00AC\t00AC
+00AF\t00AF
+27E6\t27EB
+2985\t2986
+END
+}
+
+sub InEastAsianNeutral {
+    return <<"END";
+0000\t001F
+007F\t00A0
+00A9\t00A9
+00AB\t00AB
+00B5\t00B5
+00BB\t00BB
+00C0\t00C5
+00C7\t00CF
+00D1\t00D6
+00D9\t00DD
+00E2\t00E5
+00E7\t00E7
+00EB\t00EB
+00EE\t00EF
+00F1\t00F1
+00F4\t00F6
+00FB\t00FB
+00FD\t00FD
+00FF\t0100
+0102\t0110
+0112\t0112
+0114\t011A
+011C\t0125
+0128\t012A
+012C\t0130
+0134\t0137
+0139\t013E
+0143\t0143
+0145\t0147
+014C\t014C
+014E\t0151
+0154\t0165
+0168\t016A
+016C\t01CD
+01CF\t01CF
+01D1\t01D1
+01D3\t01D3
+01D5\t01D5
+01D7\t01D7
+01D9\t01D9
+01DB\t01DB
+01DD\t0250
+0252\t0260
+0262\t02C3
+02C5\t02C6
+02C8\t02C8
+02CC\t02CC
+02CE\t02CF
+02D1\t02D7
+02DC\t02DC
+02DE\t02DE
+02E0\t02FF
+0374\t0390
+03AA\t03B0
+03C2\t03C2
+03CA\t0400
+0402\t040F
+0450\t0450
+0452\t10FC
+1160\t200F
+2011\t2012
+2017\t2017
+201A\t201B
+201E\t201F
+2023\t2023
+2028\t202F
+2031\t2031
+2034\t2034
+2036\t203A
+203C\t203D
+203F\t2071
+2075\t207E
+2080\t2080
+2085\t20A8
+20AA\t20AB
+20AD\t2102
+2104\t2104
+2106\t2108
+210A\t2112
+2114\t2115
+2117\t2120
+2123\t2125
+2127\t212A
+212C\t214E
+2155\t215A
+215F\t215F
+216C\t216F
+217A\t2184
+219A\t21B7
+21BA\t21D1
+21D3\t21D3
+21D5\t21E6
+21E8\t21FF
+2201\t2201
+2204\t2206
+2209\t220A
+220C\t220E
+2210\t2210
+2212\t2214
+2216\t2219
+221B\t221C
+2221\t2222
+2224\t2224
+2226\t2226
+222D\t222D
+222F\t2233
+2238\t223B
+223E\t2247
+2249\t224B
+224D\t2251
+2253\t225F
+2262\t2263
+2268\t2269
+226C\t226D
+2270\t2281
+2284\t2285
+2288\t2294
+2296\t2298
+229A\t22A4
+22A6\t22BE
+22C0\t2311
+2313\t2328
+232B\t244A
+24EA\t24EA
+254C\t254F
+2574\t257F
+2590\t2591
+2596\t259F
+25A2\t25A2
+25AA\t25B1
+25B4\t25B5
+25B8\t25BB
+25BE\t25BF
+25C2\t25C5
+25C9\t25CA
+25CC\t25CD
+25D2\t25E1
+25E6\t25EE
+25F0\t2604
+2607\t2608
+260A\t260D
+2610\t2613
+2616\t261B
+261D\t261D
+261F\t263F
+2641\t2641
+2643\t265F
+2662\t2662
+2666\t2666
+266B\t266B
+266E\t266E
+2670\t273C
+273E\t2775
+2780\t27E5
+27F0\t2984
+2987\t2E1D
+303F\t303F
+4DC0\t4DFF
+A700\tA877
+D800\tDB7F
+DB80\tDBFF
+DC00\tDFFF
+FB00\tFDFD
+FE20\tFE23
+FE70\tFEFF
+FFF9\tFFFC
+10000\t1D7FF
+E0001\tE007F
+END
+}
+
+sub InEastAsianWide {
+    return <<"END";
+1100\t115F
+2329\t232A
+2E80\t2FFB
+3001\t303E
+3041\t33FF
+3400\t4DB5
+4E00\t9FBB
+A000\tA4C6
+AC00\tD7A3
+F900\tFAD9
+FE10\tFE19
+FE30\tFE6B
+20000\t2A6D6
+2A6D7\t2F7FF
+2F800\t2FA1D
+2FA1E\t2FFFD
+30000\t3FFFD
+END
+}
+
+### END ###
+
+1;
+
+__END__
+
+=head1 NAME
+
+Unicode::EastAsianWidth - East Asian Width properties
+
+=head1 VERSION
+
+This document describes version 1.10 of Unicode::EastAsianWidth,
+released October 14, 2007.
+
+=head1 SYNOPSIS
+
+    use Unicode::EastAsianWidth;
+
+    $_ = chr(0x2010); # HYPHEN, an ambiguous-width character
+
+    /\p{InEastAsianAmbiguous}/; # True
+    /\p{InFullwidth}/;          # False
+
+    {
+        local $Unicode::EastAsianWidth::EastAsian = 1;
+        /\p{InFullwidth}/;      # True (this only works on Perl 5.8+)
+    }
+
+=head1 DESCRIPTION
+
+This module provide user-defined Unicode properties that deal with
+East Asian characters' width status, as specified in
+L<http://www.unicode.org/unicode/reports/tr11/>.
+
+It exports the following functions to the caller's scope, to be
+used by Perl's Unicode matching system: C<InEastAsianFullwidth>,
+C<InEastAsianHalfwidth>, C<InEastAsianAmbiguous>, C<InEastAsianNarrow>
+C<InEastAsianWide>, C<InEastAsianNeutral>.
+
+In accord to TR11 cited above, two additional context-sensitive properties
+are exported: C<InFullwidth> (union of C<Fullwidth> and C<Wide>) and
+C<InHalfwidth> (union of C<Halfwidth>, C<Narrow> and C<Neutral>).
+
+I<Ambiguous> characters are treated by default as part of
+C<InHalfwidth>, but you can modify this behaviour by assigning
+a true value to C<$Unicode::EastAsianWidth::EastAsian>.
+
+=head1 CAVEATS
+
+Setting C<$Unicode::EastAsianWidth::EastAsian> at run-time only
+works on Perl version 5.8 or above.  Perl 5.6 users must use
+a BEGIN block to set it before the C<use> statement:
+
+    BEGIN { $Unicode::EastAsianWidth::EastAsian = 1 }
+    use Unicode::EastAsianWidth;
+
+=head1 SEE ALSO
+
+L<perlunicode>,
+L<http://www.unicode.org/unicode/reports/tr11/>
+
+=head1 AUTHORS
+
+Audrey Tang E<lt>address@hidden<gt>
+
+=head1 COPYRIGHT
+
+Copyright 2002, 2003, 2007, 2008 by Audrey Tang E<lt>address@hidden<gt>.
+
+This software is released under the MIT license cited below.
+
+=head2 The "MIT" License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+=cut

Index: maintain/lib/Unicode-EastAsianWidth/t/0-signature.t
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/t/0-signature.t
diff -N maintain/lib/Unicode-EastAsianWidth/t/0-signature.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/t/0-signature.t 12 Oct 2011 23:51:22 
-0000      1.1
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use strict;
+print "1..1\n";
+
+if (!$ENV{TEST_SIGNATURE}) {
+    print "ok 1 # skip set the environment variable TEST_SIGNATURE to enable 
this test\n";
+}
+elsif (!-s 'SIGNATURE') {
+    print "ok 1 # skip No signature file found\n";
+}
+elsif (!eval { require Module::Signature; 1 }) {
+    print "ok 1 # skip ",
+           "Next time around, consider install Module::Signature, ",
+           "so you can verify the integrity of this distribution.\n";
+}
+elsif (!eval { require Socket; Socket::inet_aton('pgp.mit.edu') }) {
+    print "ok 1 # skip ",
+           "Cannot connect to the keyserver\n";
+}
+else {
+    (Module::Signature::verify() == Module::Signature::SIGNATURE_OK())
+       or print "not ";
+    print "ok 1 # Valid signature\n";
+}
+
+__END__

Index: maintain/lib/Unicode-EastAsianWidth/t/1-basic.t
===================================================================
RCS file: maintain/lib/Unicode-EastAsianWidth/t/1-basic.t
diff -N maintain/lib/Unicode-EastAsianWidth/t/1-basic.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/Unicode-EastAsianWidth/t/1-basic.t     12 Oct 2011 23:51:22 
-0000      1.1
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+
+use strict;
+use Test;
+
+BEGIN { plan tests => (($] >= 5.008) ? 8 : 7) }
+
+use Unicode::EastAsianWidth;
+
+ok(Unicode::EastAsianWidth->VERSION);
+
+$_ = chr(0x2010);
+ok(/\p{InEastAsianAmbiguous}/);
+ok(!/\p{InFullwidth}/);
+
+if ($] >= 5.008) {
+    no warnings 'once';
+    local $Unicode::EastAsianWidth::EastAsian = 1;
+    ok(/\p{InFullwidth}/);
+}
+
+$_ = chr(0x4E00);
+ok(/\p{InFullwidth}/);
+ok(!/\p{InEastAsianAmbiguous}/);
+
+$_ = chr(0xFF02);
+ok(/\p{InFullwidth}/);
+ok(!/\p{InEastAsianAmbiguous}/);
+
+__END__

Index: maintain/lib/libintl-perl/COPYING.LESSER
===================================================================
RCS file: maintain/lib/libintl-perl/COPYING.LESSER
diff -N maintain/lib/libintl-perl/COPYING.LESSER
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/COPYING.LESSER    12 Oct 2011 23:51:23 -0000      
1.1
@@ -0,0 +1,515 @@
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations
+below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+^L
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it
+becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+^L
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control
+compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+^L
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+^L
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+^L
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+^L
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply, and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License
+may add an explicit geographical distribution limitation excluding those
+countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+^L
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+^L
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms
+of the ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.
+It is safest to attach them to the start of each source file to most
+effectively convey the exclusion of warranty; and each file should
+have at least the "copyright" line and a pointer to where the full
+notice is found.
+
+
+    <one line to give the library's name and a brief idea of what it
+does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+
+Also add information on how to contact you by electronic and paper
+mail.
+
+You should also get your employer (if you work as a programmer) or
+your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James
+Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Index: maintain/lib/libintl-perl/ChangeLog
===================================================================
RCS file: maintain/lib/libintl-perl/ChangeLog
diff -N maintain/lib/libintl-perl/ChangeLog
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/ChangeLog 12 Oct 2011 23:51:23 -0000      1.1
@@ -0,0 +1,2894 @@
+  2009-06-29 Guido Flohr <address@hidden>
+
+ * NEWS: News for 1.20.
+
+ * Credits, ReleaseNotes: Copied from THANKS and NEWS.
+
+ * THANKS: David Cantrell was very helpful finding the reason for a nasty test
+ failure.
+
+ * test.pl: Do not run XS tests for systems without a German locale.  That
+ should be more flexible, but in fact, most bugs in the XS version can only be
+ worked around, not fixed.  Therefore it is not that important.
+
+ * .gitignore: Ignore more files.
+
+ * x-changelog.sh: ChangeLog generation no longer done with cvs2cl.  Until
+ something decent pops up, I will use the gitlog2changelog script from
+ http://github.com/cryos/avogadro/blob/master/scripts/gitlog2changelog.py.
+
+  2009-06-24 Guido Flohr <address@hidden>
+
+ * MANIFEST, tests/03_tester_david_pp.t, tests/03_tester_david_xs.t: Try to
+ get a little bit mroe information about the strange failure of the new
+ context functions.
+
+ * tests/03bind_textdomain_codeset_pp.t, tests/03bind_textdomain_codeset_xs.t,
+ tests/03dcgettext_pp.t, tests/03dcgettext_xs.t, tests/03dcngettext_pp.t,
+ tests/03dcngettext_xs.t, tests/03dcnpgettext_pp.t, tests/03dcnpgettext_xs.t,
+ tests/03dcpgettext_pp.t, tests/03dcpgettext_xs.t, tests/03dgettext_pp.t,
+ tests/03dgettext_xs.t, tests/03dngettext_pp.t, tests/03dngettext_xs.t,
+ tests/03dnpgettext_pp.t, tests/03dnpgettext_xs.t, tests/03dpgettext_pp.t,
+ tests/03dpgettext_xs.t, tests/03gettext_pp.t, tests/03gettext_xs.t,
+ tests/03language_pp.t, tests/03ngettext_pp.t, tests/03ngettext_xs.t,
+ tests/03npgettext_pp.t, tests/03npgettext_xs.t, tests/03pgettext_pp.t,
+ tests/03pgettext_xs.t, tests/03textdomain_pp.t, tests/03textdomain_xs.t: - do
+ not skip that many tests - use two-argument version of Test::ok() and
+ Test::skip() - correct order of expected and actual value
+
+ * tests/03dcgettext_pp.t, tests/03dcgettext_xs.t: - Do not skip that many
+ tests. - Use two argument form of Test::ok().
+
+ * tests/03bindtextdomain_pp.t, tests/03bindtextdomain_xs.t: Fixed number of
+ tests.
+
+ * tests/03bindtextdomain_pp.t, tests/03bindtextdomain_xs.t: Better structure
+ for test results.
+
+ * tests/03bind_textdomain_filter_pp.t, tests/03bind_textdomain_filter_xs.t:
+ Use two argument form of Test::ok().
+
+ * tests/03bind_textdomain_codeset_pp.t, tests/03bind_textdomain_codeset_xs.t:
+ - do not skip that many tests - use two argument form of Test::ok()
+
+ * tests/03dgettext_xs.t: Copied from pure Perl version.
+
+  2009-06-24 root <address@hidden>
+
+ * tests/03dcngettext_pp.t, tests/03dcngettext_xs.t, tests/03dngettext_pp.t,
+ tests/03dngettext_xs.t, tests/03ngettext_pp.t, tests/03ngettext_xs.t: Fixed
+ warning about undefined values in subroutine entry if locale de_AT is not
+ installed on the system that runs the test.
+
+ * Makefile.PL: $Config{libs} may include too many libraries (fixes compile
+ problems on broken Debian systems).
+
+  2009-06-23 Guido Flohr <address@hidden>
+
+ * META.yml, lib/Locale/Messages.pm, lib/Locale/TextDomain.pm: Version number
+ increased to 1.20.
+
+  2009-06-19 Guido Flohr <address@hidden>
+
+ * ChangeLog: Re-generated.
+
+ * META.yml: Version number 1.19.
+
+ * ChangeLog: Re-generated.
+
+ * Credits, FAQ, ReleaseNotes, THANKS, lib/Locale/Recode/_Aliases.pm,
+ lib/Locale/Recode/_Conversions.pm, lib/Locale/gettext_xs.pod,
+ lib/Locale/libintlFAQ.pod, sample/simplecal/Makefile.PL, test.pl: Id
+ expansion.
+
+ * gettext_xs/Makefile.PL, gettext_xs/gettext_xs.xs: Id expansion.
+
+ * MANIFEST.SKIP: Git files.
+
+ * lib/Locale/Messages.pm, lib/Locale/POFile.pm, lib/Locale/Recode.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/Util.pm, lib/Locale/gettext_pp.pm: Id
+ expansion.
+
+ * lib/Locale/RecodeData/ASMO_449.pm, lib/Locale/RecodeData/ATARI_ST.pm,
+ lib/Locale/RecodeData/ATARI_ST_EURO.pm, lib/Locale/RecodeData/CP10007.pm,
+ lib/Locale/RecodeData/CP1250.pm, lib/Locale/RecodeData/CP1251.pm,
+ lib/Locale/RecodeData/CP1252.pm, lib/Locale/RecodeData/CP1253.pm,
+ lib/Locale/RecodeData/CP1254.pm, lib/Locale/RecodeData/CP1256.pm,
+ lib/Locale/RecodeData/CP1257.pm, lib/Locale/RecodeData/CSN_369103.pm,
+ lib/Locale/RecodeData/CWI.pm, lib/Locale/RecodeData/DEC_MCS.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_10.pm, lib/Locale/RecodeData/ISO_8859_11.pm,
+ lib/Locale/RecodeData/ISO_8859_13.pm, lib/Locale/RecodeData/ISO_8859_14.pm,
+ lib/Locale/RecodeData/ISO_8859_15.pm, lib/Locale/RecodeData/ISO_8859_16.pm,
+ lib/Locale/RecodeData/ISO_8859_2.pm, lib/Locale/RecodeData/ISO_8859_3.pm,
+ lib/Locale/RecodeData/ISO_8859_4.pm, lib/Locale/RecodeData/ISO_8859_5.pm,
+ lib/Locale/RecodeData/ISO_8859_6.pm, lib/Locale/RecodeData/ISO_8859_7.pm,
+ lib/Locale/RecodeData/ISO_8859_8.pm, lib/Locale/RecodeData/ISO_8859_9.pm,
+ lib/Locale/RecodeData/KOI8_R.pm, lib/Locale/RecodeData/KOI8_RU.pm,
+ lib/Locale/RecodeData/KOI8_T.pm, lib/Locale/RecodeData/KOI8_U.pm,
+ lib/Locale/RecodeData/KOI_8.pm, lib/Locale/RecodeData/LATIN_GREEK.pm,
+ lib/Locale/RecodeData/LATIN_GREEK_1.pm, lib/Locale/RecodeData/MACARABIC.pm,
+ lib/Locale/RecodeData/MACCROATIAN.pm, lib/Locale/RecodeData/MACCYRILLIC.pm,
+ lib/Locale/RecodeData/MACGREEK.pm, lib/Locale/RecodeData/MACHEBREW.pm,
+ lib/Locale/RecodeData/MACICELAND.pm, lib/Locale/RecodeData/MACINTOSH.pm,
+ lib/Locale/RecodeData/MACROMANIA.pm, lib/Locale/RecodeData/MACTHAI.pm,
+ lib/Locale/RecodeData/MACTURKISH.pm, lib/Locale/RecodeData/MACUKRAINE.pm,
+ lib/Locale/RecodeData/MAC_IS.pm, lib/Locale/RecodeData/MAC_SAMI.pm,
+ lib/Locale/RecodeData/MAC_UK.pm, lib/Locale/RecodeData/NATS_DANO.pm,
+ lib/Locale/RecodeData/NATS_SEFI.pm, lib/Locale/RecodeData/NEXTSTEP.pm,
+ lib/Locale/RecodeData/SAMI_WS2.pm, lib/Locale/RecodeData/TIS_620.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm: Id expansion.
+
+ * NEWS: Updated.
+
+ * gettext_xs/gettext_xs.pm: LC_MESSAGES is not defined by POSIX.pm.
+
+  2009-06-15 Guido Flohr <address@hidden>
+
+ * MANIFEST, lib/Locale/TextDomain.pm, tests/04scalar_noop.t: Fixed RT bug
+ #46471, noop functions in scalar context.
+
+  2009-06-14 Guido Flohr <address@hidden>
+
+ * Makefile.PL: Id expansion.
+
+  2009-06-13 Guido Flohr <address@hidden>
+
+ * README: Id expanded.
+
+ * .gitattributes: Expand Id tags.
+
+  2009-06-12 Guido Flohr <address@hidden>
+
+ * MANIFEST, README, lib/Locale/POFile.pm: Point to libintl-perl homepage.
+
+ * .gitignore, gettext_xs/.gitignore: Ignore files
+
+  2009-05-29 Guido Flohr <address@hidden>
+
+ * lib/Locale/libintlFAQ.pod: Explanation for the __'Hello' problem.
+
+  2009-05-27 Guido Flohr <address@hidden>
+
+ * lib/Locale/Messages.pm, lib/Locale/TextDomain.pm: Bumped version number to
+ 1.19.
+
+ * sample/simplecal/po/Makefile: Fixed extraction of context (thanks to Kevin
+ Ryde).
+
+  2009-05-26 Guido Flohr <address@hidden>
+
+ * REFERENCES: Added IWL.
+
+ * ChangeLog: Re-generated.
+
+ * NEWS, ReleaseNotes: Updated.
+
+ * lib/Locale/Messages.pm, lib/Locale/TextDomain.pm: Bumped version number to
+ 1.18.
+
+ * ChangeLog: Re-generated.
+
+ * NEWS, ReleaseNotes: Updated.
+
+ * lib/Locale/TextDomain.pm: Make PAUSE happy and leave the version number
+ here.
+
+  2009-05-25 Guido Flohr <address@hidden>
+
+ * ChangeLog: Re-generated.
+
+ * MANIFEST: Added search.cpan.org aliases for well-known GNU standards files.
+
+ * Makefile.PL: Create search.cpan.org aliases for well-known GNU standards
+ files.
+
+ * Credits, ReleaseNotes: Aliases for GNU standards files.
+
+ * NEWS: Updated.
+
+ * test.pl: Report version of Encode.pm (culprit in most failures).
+
+ * lib/Locale/Recode/_Conversions.pm: Macintosh encoding in Encode.pm is
+ seemingly unstable.
+
+ * TODO: LGPL 3?
+
+ * ChangeLog, Makefile.PL, gettext_xs/Makefile.PL, gettext_xs/gettext_xs.pm,
+ gettext_xs/gettext_xs.xs, lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm, lib/Locale/TextDomain.pm,
+ lib/Locale/Util.pm, lib/Locale/gettext_pp.pm, lib/Locale/gettext_xs.pod,
+ lib/Locale/libintlFAQ.pod, sample/simplecal/Makefile.PL, test.pl: Changed
+ copyright date.
+
+ * lib/Locale/TextDomain.pm: - Added N__p(). - Added N__np(). - Removed
+ N__xpn().
+
+ * MANIFEST: Added alpha notice to Locale::Util.
+
+ * sample/simplecal/po/Makefile: Also include contextual strings.
+
+ * lib/Locale/gettext_pp.pm: First release for new functions.
+
+ * lib/Locale/TextDomain.pm: Added first release for new functions.
+
+ * lib/Locale/Util.pm: Added alpha notice.
+
+ * lib/Locale/Util.pm: Added alpha notice.
+
+ * MANIFEST.SKIP: Added cover_db.
+
+ * NEWS: Spelling.
+
+ * THANKS: Kudos to Joshua for the context functions.
+
+ * lib/Locale/TextDomain.pm: Context example.
+
+ * lib/Locale/Messages.pm: More context examples.
+
+ * lib/Locale/TextDomain.pm: Avoid n't.
+
+ * lib/Locale/libintlFAQ.pod: Switch language for server applications.
+
+ * lib/Locale/gettext_pp.pm: Made code parsing the plural formula more robust.
+
+  2008-11-19 Guido Flohr <address@hidden>
+
+ * tests/po/additional.de.po: Fixed German translations.
+
+  2008-11-19 Joshua Miller <address@hidden>
+
+ * ChangeLog, MANIFEST, NEWS, lib/Locale/Messages.pm,
+ lib/Locale/TextDomain.pm, tests/03dcnpgettext_pp.t, tests/03dcnpgettext_xs.t,
+ tests/03dcpgettext_pp.t, tests/03dcpgettext_xs.t, tests/03dnpgettext_pp.t,
+ tests/03dnpgettext_xs.t, tests/03dpgettext_pp.t, tests/03dpgettext_xs.t,
+ tests/03npgettext_pp.t, tests/03npgettext_xs.t, tests/03pgettext_pp.t,
+ tests/03pgettext_xs.t, tests/LocaleData/de/LC_MESSAGES/additional.mo,
+ tests/LocaleData/de/LC_MESSAGES/existing.mo, tests/po/additional.de.po,
+ tests/po/existing.de.po: Completed support for contextual gettext calls.
+
+ * gettext_xs/gettext_xs.pm, gettext_xs/gettext_xs.xs,
+ lib/Locale/gettext_pp.pm, lib/Locale/gettext_xs.pod: pgettext, dpgettext,
+ dcpgettext, npgettext, dnpgettext, dcnpgettext,
+
+ * USERS: Updated with info for unrtst/Joshua Miller
+
+  2008-07-18 Guido Flohr <address@hidden>
+
+ * TODO, lib/Locale/Messages.pm: select_package() is not a class method
+ (reported by Sergei Vishenski).
+
+  2008-05-28 Guido Flohr <address@hidden>
+
+ * gettext_xs/Makefile.PL: We need both libraries, not just one of them.
+
+  2007-07-03 Guido Flohr <address@hidden>
+
+ * lib/Locale/TextDomain.pm: Corrected POD.
+
+  2007-03-26 Guido Flohr <address@hidden>
+
+ * ChangeLog, MANIFEST.SKIP, META.yml, Makefile.PL, NEWS,
+ gettext_xs/Makefile.PL, lib/Locale/Messages.pm, lib/Locale/TextDomain.pm,
+ lib/Locale/Util.pm: Don't forget to actually set the cached locale.
+
+  2007-02-11 Guido Flohr <address@hidden>
+
+ * lib/Locale/Util.pm: Filter out un-available languages.
+
+ * lib/Locale/Util.pm: Fixed POD error.
+
+ * lib/Locale/Util.pm: Restrict set of acceptable languages.
+
+ * lib/Locale/Util.pm: Removed erroneous source.
+
+ * lib/Locale/Util.pm: Updated default countries for languages.
+
+  2007-02-08 Guido Flohr <address@hidden>
+
+ * lib/Locale/Util.pm: Fixed warnings about undefined values.
+
+  2007-02-07 Guido Flohr <address@hidden>
+
+ * lib/Locale/Util.pm: Aliased loop variable was constant and read-online.
+
+ * lib/Locale/Util.pm: Extended search for correct locale required by FreeBSD.
+
+ * lib/Locale/Util.pm: Return information about actually selected locale in
+ set_web_locale().
+
+  2007-02-06 Guido Flohr <address@hidden>
+
+ * sample/simplecal/po/Makefile, sample/simplecal/po/PACKAGE: Strip leading
+ and trailing whitespace on TEXTDOMAIN variable.
+
+ * REFERENCES: New file.
+
+ * Makefile.PL: Remove build_xs in target "clean".
+
+ * MANIFEST, MANIFEST.SKIP: updated
+
+ * lib/Locale/Util.pm: New function set_web_locale().
+
+ * tests/03bind_textdomain_codeset_pp.t, tests/03bind_textdomain_codeset_xs.t,
+ tests/03dcgettext_pp.t, tests/03dcgettext_xs.t, tests/03dcngettext_pp.t,
+ tests/03dcngettext_xs.t, tests/03dgettext_pp.t, tests/03dngettext_pp.t,
+ tests/03dngettext_xs.t, tests/03gettext_pp.t, tests/03gettext_xs.t,
+ tests/03language_pp.t, tests/03ngettext_pp.t, tests/03ngettext_xs.t: Use
+ Locale::Util::set_locale() for more portable locale setting.
+
+ * lib/Locale/Util.pm: - avoid warnings - turned off debugging - clean-up
+
+ * lib/Locale/Util.pm: docs
+
+ * lib/Locale/Util.pm: - access to the locale cache - updated docs
+
+ * lib/Locale/Util.pm: Support for MS-DOS
+
+ * lib/Locale/Util.pm: half-implemented Windows version
+
+ * lib/Locale/Util.pm: safe locale setting for Unix
+
+ * tests/05parse_accept.t: new
+
+ * lib/Locale/Util.pm: work in progress
+
+ * README-oldversions: new
+
+  2007-02-05 Guido Flohr <address@hidden>
+
+ * sample/simplecal/po/PACKAGE: Hint to avoid trailing space
+
+ * lib/Locale/TextDomain.pm: interpolate filename and linenumber
+
+  2007-02-02 Guido Flohr <address@hidden>
+
+ * MANIFEST, lib/Locale/Messages.pm: avoid warning if textdomain is undef
+
+ * lib/Locale/TextDomain.pm: Try to detect incorrect usage of the tied gettext
+ hash.
+
+  2007-01-24 Guido Flohr <address@hidden>
+
+ * lib/Locale/TextDomain.pm: always make a copy of the list of search
+ directories
+
+ * FAQ, MANIFEST, lib/Locale/libintlFAQ.pod: podified FAQ
+
+ * x-changelog.sh: cvs2cl now expected in $PATH.
+
+ * FAQ: podify FAQ
+
+ * gettext_xs/gettext_xs.pm, lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm, lib/Locale/TextDomain.pm,
+ lib/Locale/gettext_pp.pm, test.pl: Updated copyright date
+
+ * README: changed name of license file to COPYING.LESSER
+
+ * NEWS: updated
+
+ * tests/04find_domain_bug.t: Skip test if require Austrian locale is not
+ available (thanks to Pascal Terjan for the hint).
+
+ * sample/simplecal/po/Makefile: added simple hash
+
+  2005-11-18 Guido Flohr <address@hidden>
+
+ * Makefile.PL: unlink "xs_disabled" with "make clean" (thanks to Peter
+ Eisentraut)
+
+  2005-09-27 Guido Flohr <address@hidden>
+
+ * ChangeLog: updated
+
+ * ChangeLog, NEWS: updated
+
+ * FAQ: minor revision
+
+ * META.yml, lib/Locale/Messages.pm, lib/Locale/TextDomain.pm: bumped version
+ number to 1.16
+
+ * gettext_xs/gettext_xs.pm, gettext_xs/gettext_xs.xs: allow call to
+ textdomain without argument
+
+ * test.pl: fixed typo that prevented xs tests from being run
+
+ * lib/Locale/Messages.pm, tests/03bind_textdomain_filter_pp.t,
+ tests/03bind_textdomain_filter_xs.t: refactoring: change argument order for
+ callback
+
+ * lib/Locale/Messages.pm: implemented turn_utf_8_on()
+
+ * lib/Locale/Messages.pm, tests/03bind_textdomain_filter_pp.t,
+ tests/03bind_textdomain_filter_xs.t: added function bind_textdomain_filter
+
+ * FAQ: minor changes
+
+ * THANKS: grammar
+
+ * MANIFEST, TODO: updated
+
+ * FAQ: added FAQ
+
+  2005-08-31 Guido Flohr <address@hidden>
+
+ * Makefile.PL, test.pl: avoid running tests for obsolete XS versions
+
+ * ChangeLog: updated
+
+ * NEWS: updated
+
+ * META.yml: bumped version number to 1.15
+
+ * lib/Locale/Messages.pm: - bug fix: Prevent users (for example the test
+ suite) from loading an obsolete XS version, although a version mismatch was
+ detected earlier - warnings about non-ascii message ids
+
+ * Makefile.PL: hint for the courageous Solaris user
+
+ * MANIFEST: Solaris ...
+
+ * README.solaris: Life is complicated under the sun, ain't it?
+
+ * Makefile.PL, gettext_xs/gettext_xs.xs: workaround for misconfigured
+ (Solaris) systems
+
+ * THANKS: updated
+
+  2005-08-21 Guido Flohr <address@hidden>
+
+ * MANIFEST: removed all.pot from sample directory
+
+ * NEWS, lib/Locale/Messages.pm, lib/Locale/TextDomain.pm: bumped version
+ number to 1.15
+
+ * ChangeLog, TODO: updated
+
+ * sample/simplecal/po/org.imperia.simplecal.pot: re-generated
+
+ * sample/README: - updated, Perl support for gettext should now be standard
+
+ * lib/Locale/Messages.pm: added comment abouut 8 bit message ids
+
+  2005-08-16 Guido Flohr <address@hidden>
+
+ * sample/simplecal/po/all.pot: not needed
+
+ * sample/simplecal/po/de.po: msgid strings now come from libintl-perl, not
+ from Crypt::Twofish_PP
+
+ * sample/simplecal/po/de.mo: should not be included in CVS
+
+ * sample/simplecal/po/POTFILES.in: Reference the files from the correct
+ package.
+
+ * sample/simplecal/po/PACKAGE: new command line parameters for xgettext
+
+  2005-08-11 Guido Flohr <address@hidden>
+
+ * ChangeLog: re-generated
+
+ * META.yml: regenerated
+
+ * NEWS, lib/Locale/Messages.pm, lib/Locale/TextDomain.pm: bumped version
+ number to 1.14
+
+ * Makefile.PL: use correct linker flags
+
+ * ChangeLog: updated
+
+  2005-08-10 Guido Flohr <address@hidden>
+
+ * META.yml, lib/Locale/TextDomain.pm: bumped version number to 1.12
+
+ * README: added feedback section
+
+ * ChangeLog, MANIFEST: updated
+
+ * MANIFEST, NEWS, THANKS, TODO: updated
+
+ * tests/03bind_textdomain_codeset_pp.t, tests/03bind_textdomain_codeset_xs.t,
+ tests/03dcgettext_pp.t, tests/03dcgettext_xs.t, tests/03dcngettext_pp.t,
+ tests/03dcngettext_xs.t, tests/03dgettext_pp.t, tests/03dgettext_xs.t,
+ tests/03dngettext_pp.t, tests/03dngettext_xs.t, tests/03gettext_pp.t,
+ tests/03gettext_xs.t, tests/03language_pp.t, tests/03language_xs.t,
+ tests/03ngettext_pp.t, tests/03ngettext_xs.t: avoid failures because of
+ missing locale definitions
+
+ * lib/Locale/TextDomain.pm, tests/04find_domain_bug.t: allow to switch
+ languages (thanks to Jan Kratochvil for the hint)
+
+ * tests/LocaleData/de/LC_MESSAGES/existing.mo,
+ tests/LocaleData/de_AT/LC_MESSAGES/existing.mo: regenerated
+
+ * tests/po/existing.de_AT.po: Austrians have their own version of February.
+
+ * tests/po/existing.de.po: added plural header
+
+ * THANKS: updated
+
+ * sample/README: clarifications for changing the language via environment
+ (solves issue https://rt.cpan.org/Ticket/Display.html?id=13957)
+
+  2004-07-20 Guido Flohr <address@hidden>
+
+ * lib/Locale/TextDomain.pm: default textdomain is now determined by
+ Locale::Messages::textdomain().
+
+  2004-06-11 Guido Flohr <address@hidden>
+
+ * META.yml, lib/Locale/Messages.pm, lib/Locale/TextDomain.pm: bumped version
+ number to 1.11
+
+ * lib/Locale/RecodeData/ASMO_449.pm, lib/Locale/RecodeData/ATARI_ST.pm,
+ lib/Locale/RecodeData/ATARI_ST_EURO.pm, lib/Locale/RecodeData/CP10007.pm,
+ lib/Locale/RecodeData/CP1250.pm, lib/Locale/RecodeData/CP1251.pm,
+ lib/Locale/RecodeData/CP1252.pm, lib/Locale/RecodeData/CP1253.pm,
+ lib/Locale/RecodeData/CP1254.pm, lib/Locale/RecodeData/CP1256.pm,
+ lib/Locale/RecodeData/CP1257.pm, lib/Locale/RecodeData/CSN_369103.pm,
+ lib/Locale/RecodeData/CWI.pm, lib/Locale/RecodeData/DEC_MCS.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm: added proper headlines for manual pages
+
+ * lib/Locale/TextDomain.pm: - add default directories /usr/share/locale resp.
+ /usr/local/share/locale to search path if they exist (reported by Cao
+ Hongija) - changed default textdomain to 'messages' - fixed warning that
+ occured when the import() method is not properly called
+
+  2004-04-20 Guido Flohr <address@hidden>
+
+ * lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm, lib/Locale/TextDomain.pm,
+ lib/Locale/gettext_pp.pm, lib/Locale/gettext_xs.pod: fixed vim line
+
+  2004-01-15 Guido Flohr <address@hidden>
+
+ * sample/simplecal/po/Crypt-Twofish_PP.pot: Oops...
+
+  2004-01-12 Guido Flohr <address@hidden>
+
+ * META.yml: removed dynamic_config (not recognized?)
+
+ * META.yml: added dynamic_config
+
+ * README.win32: added statement by Bruno Haible regarding MSVC 7.0
+
+ * MANIFEST: added README.win32
+
+ * README.win32: new
+
+ * lib/Locale/Messages.pm: fixed typo
+
+ * ChangeLog, META.yml, NEWS, lib/Locale/Messages.pm,
+ lib/Locale/TextDomain.pm: bumped version number to 1.10
+
+ * tests/03language_pp.t, tests/03language_xs.t: $LANG must be set in
+ environment with $LANGUAGE
+
+ * tests/03bind_textdomain_codeset_pp.t, tests/03bind_textdomain_codeset_xs.t:
+ use nl_putenv(), not %ENV
+
+ * gettext_xs/gettext_xs.xs: - fixed prototype for _nl_putenv - use _putenv()
+ instead of putenv() (educated guess)
+
+ * MANIFEST: updated
+
+ * COPYING.LESSER, COPYING.LIB: renamed COPYING.LIB to COPYING.LESSER to
+ prevent deletion for make clean
+
+  2004-01-08 Guido Flohr <address@hidden>
+
+ * tests/03dcgettext_pp.t, tests/03dcgettext_xs.t, tests/03dcngettext_pp.t,
+ tests/03dcngettext_xs.t, tests/03dgettext_pp.t, tests/03dgettext_xs.t,
+ tests/03dngettext_pp.t, tests/03dngettext_xs.t, tests/03gettext_pp.t,
+ tests/03gettext_xs.t, tests/03language_pp.t, tests/03language_xs.t,
+ tests/03ngettext_pp.t, tests/03ngettext_xs.t: compatibility tweaks for
+ MS-DOS, use nl_putenv instead of %ENV
+
+ * lib/Locale/gettext_pp.pm: fixed another typo
+
+ * gettext_xs/gettext_xs.pm, lib/Locale/gettext_pp.pm: fixed typo
+
+ * META.yml, Makefile.PL: File::Spec required again
+
+ * tests/03bind_textdomain_codeset_pp.t, tests/03bind_textdomain_codeset_xs.t,
+ tests/03dcgettext_pp.t, tests/03dcgettext_xs.t, tests/03dcngettext_pp.t,
+ tests/03dcngettext_xs.t, tests/03dgettext_pp.t, tests/03dgettext_xs.t,
+ tests/03dngettext_pp.t, tests/03dngettext_xs.t, tests/03gettext_pp.t,
+ tests/03gettext_xs.t, tests/03language_pp.t, tests/03language_xs.t,
+ tests/03ngettext_pp.t, tests/03ngettext_xs.t: - let bindtextdomain() take
+ care of normalized paths - compare normalized paths
+
+ * tests/03bind_textdomain_codeset_pp.t, tests/03bind_textdomain_codeset_xs.t,
+ tests/03dcngettext_pp.t, tests/03dcngettext_xs.t, tests/03dgettext_pp.t,
+ tests/03dngettext_pp.t, tests/03dngettext_xs.t, tests/03gettext_pp.t,
+ tests/03gettext_xs.t, tests/03ngettext_pp.t, tests/03ngettext_xs.t: do not
+ use hard-coded locale identifiers in calls to setlocale()
+
+ * tests/03dcgettext_pp.t, tests/03dcgettext_xs.t, tests/03dgettext_xs.t,
+ tests/03gettext_pp.t, tests/03gettext_xs.t, tests/03language_pp.t,
+ tests/03language_xs.t: set OUTPUT_CHARSET for compatibility
+
+ * MANIFEST: added META.yml
+
+ * META.yml: new
+
+ * Makefile.PL, gettext_xs/Makefile.PL, gettext_xs/gettext_xs.pm,
+ gettext_xs/gettext_xs.xs, lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm, lib/Locale/TextDomain.pm,
+ lib/Locale/gettext_pp.pm, lib/Locale/gettext_xs.pod,
+ sample/simplecal/Makefile.PL, test.pl: Happy New Year!
+
+ * gettext_xs/Makefile.PL: File::Spec is required for the XS version
+
+ * gettext_xs/gettext_xs.pm, gettext_xs/gettext_xs.xs, lib/Locale/Messages.pm,
+ lib/Locale/gettext_pp.pm, lib/Locale/gettext_xs.pod: new function nl_putenv()
+ for MS-DOS ideosyncrasies
+
+ * Makefile.PL: do not require the variable _nl_domain_bindings for building
+ the XS version
+
+ * gettext_xs/gettext_xs.pm, gettext_xs/gettext_xs.xs: convert directory to
+ local convention for Locale::gettext_xs::bindtextdomain
+
+  2004-01-02 Guido Flohr <address@hidden>
+
+ * tests/po/Makefile: moved tests/locale to tests/LocaleData
+
+ * gettext_xs/gettext_xs.xs, tests/03bind_textdomain_codeset_pp.t,
+ tests/03bind_textdomain_codeset_xs.t, tests/03dcgettext_pp.t,
+ tests/03dcgettext_xs.t, tests/03dcngettext_pp.t, tests/03dcngettext_xs.t,
+ tests/03dgettext_pp.t, tests/03dgettext_xs.t, tests/03dngettext_pp.t,
+ tests/03dngettext_xs.t, tests/03gettext_pp.t, tests/03gettext_xs.t,
+ tests/03language_pp.t, tests/03language_xs.t, tests/03ngettext_pp.t,
+ tests/03ngettext_xs.t: compatibility tweaks
+
+ * MANIFEST, tests/03bind_textdomain_codeset_pp.t,
+ tests/03bind_textdomain_codeset_xs.t, tests/03dcgettext_pp.t,
+ tests/03dcgettext_xs.t, tests/03dcngettext_pp.t, tests/03dcngettext_xs.t,
+ tests/03dgettext_pp.t, tests/03dgettext_xs.t, tests/03dngettext_pp.t,
+ tests/03dngettext_xs.t, tests/03gettext_pp.t, tests/03gettext_xs.t,
+ tests/03language_pp.t, tests/03language_xs.t, tests/03ngettext_pp.t,
+ tests/03ngettext_xs.t: moved tests/locale to tests/LocaleData
+
+  2003-12-29 Guido Flohr <address@hidden>
+
+ * NEWS: updated
+
+ * ChangeLog: #re-generated
+
+ * NEWS: updated
+
+ * lib/Locale/TextDomain.pm: - fixed pod typo - bumped version number to 1.09
+
+ * lib/Locale/gettext_pp.pm: use user supplied locale name when guessing
+ character set
+
+ * lib/Locale/Messages.pm: check for correct XS version
+
+ * lib/Locale/Messages.pm: *** empty log message ***
+
+  2003-12-23 Guido Flohr <address@hidden>
+
+ * lib/Locale/RecodeData/ATARI_ST_EURO.pm, tests/02atari-st-euro.t: - various
+ corrections - newer Atari versions seem to place the euro sign at 0xde (not
+ 0xee), thanks to Jo-Even Skarstein and Gerhard Stoll for the information
+
+ * lib/Locale/RecodeData/ATARI_ST.pm, tests/02atari-st.t: various corrections
+
+ * sample/simplecal/MANIFEST: updated to new Makefile logic
+
+  2003-11-30 Guido Flohr <address@hidden>
+
+ * ChangeLog: #re-generated
+
+ * lib/Locale/TextDomain.pm: deleted reference to unwritten docs on
+ let.imperia.org
+
+ * ChangeLog: #re-generated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.08
+
+ * NEWS: updated
+
+ * MyInstall.pm: fixed bug #4512 on https://rt.cpan.org/
+
+  2003-11-28 Guido Flohr <address@hidden>
+
+ * ChangeLog: # re-generated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.07
+
+ * BUGS, MANIFEST: removed BUGS (only known bug should be fixed now)
+
+ * NEWS: updated
+
+ * lib/Locale/gettext_pp.pm: - only call I18N::Langinfo methods for validated
+ locales - allow 'utf8' as an alias for charsets derived from locale ids
+
+ * Makefile.PL: redirect configure output to config.log
+
+ * lib/Locale/Messages.pm: export turn_utf_8_off()
+
+ * MyInstall.pm: removed debugging noise
+
+  2003-11-24 Guido Flohr <address@hidden>
+
+ * sample/simplecal/po/Crypt-Twofish_PP.pot, sample/simplecal/po/POTFILES.in,
+ sample/simplecal/po/de.mo, sample/simplecal/po/de.po: updated
+
+ * ChangeLog: # re-generated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.06
+
+ * lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/US_ASCII.pm:
+ added pod
+
+ * BUGS, NEWS: updated
+
+ * lib/Locale/gettext_pp.pm: avoid warning without I18N::Langinfo
+
+ * MANIFEST: updated
+
+ * sample/README: all package-dependent information now goes into one single
+ file PACKAGE
+
+ * Makefile.PL: do not include -liconv twice
+
+ * sample/simplecal/po/LINGUAS, sample/simplecal/po/Makefile,
+ sample/simplecal/po/PACKAGE, sample/simplecal/po/TEXTDOMAIN: put all
+ package-dependent information into single file PACKAGE
+
+  2003-10-10 Guido Flohr <address@hidden>
+
+ * gettext_xs/gettext_xs.xs, lib/Locale/Messages.pm: check for version match
+ (do not load stale XS versions at run-time)
+
+ * ChangeLog: # re-generated
+
+ * tests/03language_pp.t, tests/03language_xs.t: added
+
+ * ChangeLog: # re-generated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.05
+
+ * gettext_xs/Makefile.old: removed junk file
+
+ * Makefile.PL, NEWS: fixed compatibility problems with Solaris 8 and above
+
+ * MANIFEST: removed Artistic
+
+ * sample/README: fixed typo
+
+ * Artistic: obsolete
+
+  2003-10-09 Guido Flohr <address@hidden>
+
+ * ChangeLog: # regenerated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.04
+
+ * MANIFEST.SKIP: updated
+
+ * NEWS: updated
+
+ * lib/Locale/gettext_pp.pm: - support for language chain syntax in $LANGUAGE
+ - performance tweaks
+
+ * sample/simplecal/README-NLS: clarification
+
+ * MANIFEST: support for language chains in $LANGUAGE
+
+  2003-10-08 Guido Flohr <address@hidden>
+
+ * NEWS: updated
+
+ * lib/Locale/Recode/_Conversions.pm: do not use Encode's iso-8859-11 (broken
+ in some Encode versions)
+
+  2003-09-24 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/gettext_pp.pm: localize $@ with checks for availability of
+ I18N::Langinfo and POSIX::LC_MESSAGES
+
+  2003-09-15 Guido Flohr <address@hidden>
+
+ * ChangeLog: re-generated
+
+ * NEWS, lib/Locale/TextDomain.pm: bumped version number to 1.03
+
+ * MANIFEST, MANIFEST.SKIP, Makefile.PL, MyInstall.pm, NEWS, TODO, USERS,
+ gettest.c, gettext_xs/Makefile.PL, gettext_xs/Makefile.old,
+ gettext_xs/gettext_xs.pm, gettext_xs/gettext_xs.xs, lib/Locale/Messages.pm,
+ lib/Locale/TextDomain.pm, lib/Locale/gettext_xs.pod,
+ tests/03bind_textdomain_codeset.t, tests/03bind_textdomain_codeset_pp.t,
+ tests/03bind_textdomain_codeset_xs.t, tests/03bindtextdomain.t,
+ tests/03bindtextdomain_pp.t, tests/03bindtextdomain_xs.t,
+ tests/03dcgettext.t, tests/03dcgettext_pp.t, tests/03dcgettext_xs.t,
+ tests/03dcngettext.t, tests/03dcngettext_pp.t, tests/03dcngettext_xs.t,
+ tests/03dgettext.t, tests/03dgettext_pp.t, tests/03dgettext_xs.t,
+ tests/03dngettext.t, tests/03dngettext_pp.t, tests/03dngettext_xs.t,
+ tests/03gettext.t, tests/03gettext_pp.t, tests/03gettext_xs.t,
+ tests/03ngettext.t, tests/03ngettext_pp.t, tests/03ngettext_xs.t,
+ tests/03textdomain.t, tests/03textdomain_pp.t, tests/03textdomain_xs.t,
+ x-changelog.sh: alternative XS version
+
+  2003-09-10 Guido Flohr <address@hidden>
+
+ * gettest.c: test file for gettext support
+
+ * Makefile.PL, README, lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm, lib/Locale/TextDomain.pm,
+ lib/Locale/gettext_pp.pm, sample/simplecal/Makefile.PL, test.pl: - switched
+ from double license to single license (LGPL) in order to avoid licensing
+ problems - fixed POD
+
+ * tests/02iso-8859-11.t: workaround for broken Encode versions
+
+ * COPYING, COPYING.LIB, MANIFEST: changed from double license to single
+ license (LGPL)
+
+  2003-09-07 Guido Flohr <address@hidden>
+
+ * lib/Locale/RecodeData/US_ASCII.pm: removed second block of emacs vars
+
+ * lib/Locale/Messages.pm: pod errors
+
+ * TODO: updated
+
+ * sample/README: new section on informational files
+
+ * sample/simplecal/README-NLS, sample/simplecal/TRANSLATIONS: new
+
+ * sample/simplecal/po/Makefile: fixed invocation of xgettext
+
+ * Makefile.PL, test.pl: get rid of dependency on ExtUtils::Command::MM
+
+  2003-09-04 Guido Flohr <address@hidden>
+
+ * lib/Locale/gettext_pp.pm: removed double emacs var block
+
+ * ChangeLog: # re-generated
+
+  2003-09-04 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/gettext_pp.pm: - removed obsolete line
+
+  2003-09-04 Guido Flohr <address@hidden>
+
+ * ChangeLog: # re-generated
+
+  2003-09-04 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/gettext_pp.pm: - untaint of plural header - Perl 5.005
+ compatibility
+
+  2003-09-04 Guido Flohr <address@hidden>
+
+ * ChangeLog: # re-generated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.02
+
+ * BUGS, NEWS, TODO: updated
+
+ * tests/LocaleData/de_AT/LC_MESSAGES/additional.mo,
+ tests/po/additional.de_AT.po: added plural rules for de_AT to test catalog
+
+ * lib/Locale/gettext_pp.pm: compatibility with GNU gettext for systems w/o
+ /usr/share/locale
+
+  2003-08-19 Guido Flohr <address@hidden>
+
+ * ChangeLog: # updated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.01
+
+ * README: deleted reference to README-MSDOS
+
+ * BUGS: bug report from cpan-testers
+
+ * Makefile.PL: requires ExtUtils::Command::MM for test wrapper
+
+ * lib/Locale/RecodeData/ISO_8859_11.pm, tests/02iso-8859-11.t,
+ tests/02tis-620.t: fixed ISO-8859-11 recoding
+
+ * tests/02iso-8859-11.t, tests/02tis-620.t: fixed Thai character sets
+
+ * MANIFEST, NEWS: updated/added
+
+ * README-MSDOS: obsolete
+
+ * test.pl: workaround for broken or limited shells to allow testing (thanks
+ to DH <address@hidden> for the hint)
+
+ * MANIFEST, t/po/Makefile, t/po/additional.de.po, t/po/additional.de_AT.po,
+ t/po/existing.de.po, t/po/existing.de_AT.po, tests/00gettext.t,
+ tests/00recode.t, tests/01trivial.t, tests/02asmo_449.t,
+ tests/02atari-st-euro.t, tests/02atari-st.t, tests/02cp10007.t,
+ tests/02cp1250.t, tests/02cp1251.t, tests/02cp1252.t, tests/02cp1253.t,
+ tests/02cp1254.t, tests/02cp1256.t, tests/02cp1257.t, tests/02csn_369103.t,
+ tests/02cwi.t, tests/02dec-mcs.t, tests/02ebcdic-at-de-a.t,
+ tests/02ebcdic-at-de.t, tests/02ebcdic-ca-fr.t, tests/02ebcdic-dk-no-a.t,
+ tests/02ebcdic-dk-no.t, tests/02ebcdic-es-a.t, tests/02ebcdic-es-s.t,
+ tests/02ebcdic-es.t, tests/02ebcdic-fi-se-a.t, tests/02ebcdic-fi-se.t,
+ tests/02ebcdic-fr.t, tests/02ebcdic-is-friss.t, tests/02ebcdic-it.t,
+ tests/02ebcdic-pt.t, tests/02ebcdic-uk.t, tests/02ebcdic-us.t,
+ tests/02ecma-cyrillic.t, tests/02georgian-academy.t, tests/02georgian-ps.t,
+ tests/02gost_19768-74.t, tests/02greek-ccitt.t, tests/02greek7-old.t,
+ tests/02greek7.t, tests/02hp-roman8.t, tests/02ibm037.t, tests/02ibm038.t,
+ tests/02ibm1004.t, tests/02ibm1026.t, tests/02ibm1047.t, tests/02ibm256.t,
+ tests/02ibm273.t, tests/02ibm274.t, tests/02ibm275.t, tests/02ibm277.t,
+ tests/02ibm278.t, tests/02ibm280.t, tests/02ibm281.t, tests/02ibm284.t,
+ tests/02ibm285.t, tests/02ibm290.t, tests/02ibm297.t, tests/02ibm420.t,
+ tests/02ibm423.t, tests/02ibm424.t, tests/02ibm437.t, tests/02ibm500.t,
+ tests/02ibm850.t, tests/02ibm851.t, tests/02ibm852.t, tests/02ibm855.t,
+ tests/02ibm857.t, tests/02ibm860.t, tests/02ibm861.t, tests/02ibm862.t,
+ tests/02ibm863.t, tests/02ibm864.t, tests/02ibm865.t, tests/02ibm866.t,
+ tests/02ibm868.t, tests/02ibm869.t, tests/02ibm870.t, tests/02ibm871.t,
+ tests/02ibm874.t, tests/02ibm875.t, tests/02ibm880.t, tests/02ibm891.t,
+ tests/02ibm903.t, tests/02ibm904.t, tests/02ibm905.t, tests/02ibm918.t,
+ tests/02iec_p27-1.t, tests/02inis-8.t, tests/02inis-cyrillic.t,
+ tests/02inis.t, tests/02iso-8859-1.t, tests/02iso-8859-10.t,
+ tests/02iso-8859-11.t, tests/02iso-8859-13.t, tests/02iso-8859-14.t,
+ tests/02iso-8859-15.t, tests/02iso-8859-16.t, tests/02iso-8859-2.t,
+ tests/02iso-8859-3.t, tests/02iso-8859-4.t, tests/02iso-8859-5.t,
+ tests/02iso-8859-6.t, tests/02iso-8859-7.t, tests/02iso-8859-8.t,
+ tests/02iso-8859-9.t, tests/02iso_10367-box.t, tests/02iso_2033-1983.t,
+ tests/02iso_5427-ext.t, tests/02iso_5427.t, tests/02iso_5428.t,
+ tests/02koi-8.t, tests/02koi8-r.t, tests/02koi8-ru.t, tests/02koi8-t.t,
+ tests/02koi8-u.t, tests/02latin-greek-1.t, tests/02latin-greek.t,
+ tests/02mac-is.t, tests/02mac-sami.t, tests/02mac-uk.t, tests/02macarabic.t,
+ tests/02maccroatian.t, tests/02maccyrillic.t, tests/02macgreek.t,
+ tests/02machebrew.t, tests/02maciceland.t, tests/02macintosh.t,
+ tests/02macromania.t, tests/02macthai.t, tests/02macturkish.t,
+ tests/02macukraine.t, tests/02nats-dano.t, tests/02nats-sefi.t,
+ tests/02nextstep.t, tests/02sami-ws2.t, tests/02tis-620.t,
+ tests/02us-ascii.t, tests/02utf-8.t, tests/02viscii.t,
+ tests/03bind_textdomain_codeset.t, tests/03bind_textdomain_codeset_pp.t,
+ tests/03bindtextdomain.t, tests/03bindtextdomain_pp.t, tests/03dcgettext.t,
+ tests/03dcgettext_pp.t, tests/03dcngettext.t, tests/03dcngettext_pp.t,
+ tests/03dgettext.t, tests/03dgettext_pp.t, tests/03dngettext.t,
+ tests/03dngettext_pp.t, tests/03gettext.t, tests/03gettext_pp.t,
+ tests/03ngettext.t, tests/03ngettext_pp.t, tests/03textdomain.t,
+ tests/03textdomain_pp.t, tests/LocaleData/de/LC_MESSAGES/additional.mo,
+ tests/LocaleData/de/LC_MESSAGES/existing.mo,
+ tests/LocaleData/de_AT/LC_MESSAGES/additional.mo,
+ tests/LocaleData/de_AT/LC_MESSAGES/existing.mo, tests/po/Makefile,
+ tests/po/additional.de.po, tests/po/additional.de_AT.po,
+ tests/po/existing.de.po, tests/po/existing.de_AT.po: - directory t/ moved to
+ tests/
+
+ * t/00gettext.t, t/00recode.t, t/01trivial.t, t/02asmo_449.t,
+ t/02atari-st-euro.t, t/02atari-st.t, t/02cp10007.t, t/02cp1250.t,
+ t/02cp1251.t, t/02cp1252.t, t/02cp1253.t, t/02cp1254.t, t/02cp1256.t,
+ t/02cp1257.t, t/02csn_369103.t, t/02cwi.t, t/02dec-mcs.t,
+ t/02ebcdic-at-de-a.t, t/02ebcdic-at-de.t, t/02ebcdic-ca-fr.t,
+ t/02ebcdic-dk-no-a.t, t/02ebcdic-dk-no.t, t/02ebcdic-es-a.t,
+ t/02ebcdic-es-s.t, t/02ebcdic-es.t, t/02ebcdic-fi-se-a.t, t/02ebcdic-fi-se.t,
+ t/02ebcdic-fr.t, t/02ebcdic-is-friss.t, t/02ebcdic-it.t, t/02ebcdic-pt.t,
+ t/02ebcdic-uk.t, t/02ebcdic-us.t, t/02ecma-cyrillic.t,
+ t/02georgian-academy.t, t/02georgian-ps.t, t/02gost_19768-74.t,
+ t/02greek-ccitt.t, t/02greek7-old.t, t/02greek7.t, t/02hp-roman8.t,
+ t/02ibm037.t, t/02ibm038.t, t/02ibm1004.t, t/02ibm1026.t, t/02ibm1047.t,
+ t/02ibm256.t, t/02ibm273.t, t/02ibm274.t, t/02ibm275.t, t/02ibm277.t,
+ t/02ibm278.t, t/02ibm280.t, t/02ibm281.t, t/02ibm284.t, t/02ibm285.t,
+ t/02ibm290.t, t/02ibm297.t, t/02ibm420.t, t/02ibm423.t, t/02ibm424.t,
+ t/02ibm437.t, t/02ibm500.t, t/02ibm850.t, t/02ibm851.t, t/02ibm852.t,
+ t/02ibm855.t, t/02ibm857.t, t/02ibm860.t, t/02ibm861.t, t/02ibm862.t,
+ t/02ibm863.t, t/02ibm864.t, t/02ibm865.t, t/02ibm866.t, t/02ibm868.t,
+ t/02ibm869.t, t/02ibm870.t, t/02ibm871.t, t/02ibm874.t, t/02ibm875.t,
+ t/02ibm880.t, t/02ibm891.t, t/02ibm903.t, t/02ibm904.t, t/02ibm905.t,
+ t/02ibm918.t, t/02iec_p27-1.t, t/02inis-8.t, t/02inis-cyrillic.t, t/02inis.t,
+ t/02iso-8859-1.t, t/02iso-8859-10.t, t/02iso-8859-11.t, t/02iso-8859-13.t,
+ t/02iso-8859-14.t, t/02iso-8859-15.t, t/02iso-8859-16.t, t/02iso-8859-2.t,
+ t/02iso-8859-3.t, t/02iso-8859-4.t, t/02iso-8859-5.t, t/02iso-8859-6.t,
+ t/02iso-8859-7.t, t/02iso-8859-8.t, t/02iso-8859-9.t, t/02iso_10367-box.t,
+ t/02iso_2033-1983.t, t/02iso_5427-ext.t, t/02iso_5427.t, t/02iso_5428.t,
+ t/02koi-8.t, t/02koi8-r.t, t/02koi8-ru.t, t/02koi8-t.t, t/02koi8-u.t,
+ t/02latin-greek-1.t, t/02latin-greek.t, t/02mac-is.t, t/02mac-sami.t,
+ t/02mac-uk.t, t/02macarabic.t, t/02maccroatian.t, t/02maccyrillic.t,
+ t/02macgreek.t, t/02machebrew.t, t/02maciceland.t, t/02macintosh.t,
+ t/02macromania.t, t/02macthai.t, t/02macturkish.t, t/02macukraine.t,
+ t/02nats-dano.t, t/02nats-sefi.t, t/02nextstep.t, t/02sami-ws2.t,
+ t/02tis-620.t, t/02us-ascii.t, t/02utf-8.t, t/02viscii.t,
+ t/03bind_textdomain_codeset.t, t/03bind_textdomain_codeset_pp.t,
+ t/03bindtextdomain.t, t/03bindtextdomain_pp.t, t/03dcgettext.t,
+ t/03dcgettext_pp.t, t/03dcngettext.t, t/03dcngettext_pp.t, t/03dgettext.t,
+ t/03dgettext_pp.t, t/03dngettext.t, t/03dngettext_pp.t, t/03gettext.t,
+ t/03gettext_pp.t, t/03ngettext.t, t/03ngettext_pp.t, t/03textdomain.t,
+ t/03textdomain_pp.t, t/locale/de/LC_MESSAGES/additional.mo,
+ t/locale/de/LC_MESSAGES/existing.mo,
+ t/locale/de_AT/LC_MESSAGES/additional.mo,
+ t/locale/de_AT/LC_MESSAGES/existing.mo: moved to directory tests
+
+ * lib/Locale/RecodeData/_Encode.pm: merged from norma branch
+
+  2003-08-11 Guido Flohr <address@hidden>
+
+ * lib/Locale/RecodeData/_Encode.pm: fixed pod typo (reported by Mike Castle
+ <address@hidden>)
+
+  2003-08-07 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/RecodeData/_Encode.pm: _recode must return a true value if
+ Encode::from_to returns 0
+
+  2003-08-07 Guido Flohr <address@hidden>
+
+ * ChangeLog: # re-generated
+
+ * lib/Locale/gettext_pp.pm: renamed variables
+
+ * lib/Locale/TextDomain.pm: bumped version number to 1.00
+
+ * README, lib/Locale/Messages.pm, lib/Locale/Recode/_Aliases.pm,
+ lib/Locale/RecodeData.pm, sample/README: documentation tweaks
+
+  2003-07-28 Guido Flohr <address@hidden>
+
+ * ChangeLog: # regenerated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 0.14
+
+ * README, sample/README: fixed web addresses
+
+ * ChangeLog: # re-generated
+
+ * sample/README, sample/simplecal/MANIFEST, sample/simplecal/Makefile.PL,
+ sample/simplecal/bin/simplecal.pl,
+ .../ar/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../ar_SA/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../de/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../de_AT/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../fr/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../ga/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../it/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../nl/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../pt/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../pt_BR/LC_MESSAGES/org.imperia.simplecal.mo,
+ .../ru/LC_MESSAGES/org.imperia.simplecal.mo,
+ sample/simplecal/lib/SimpleCal.pm, sample/simplecal/po/LINGUAS,
+ sample/simplecal/po/Makefile, sample/simplecal/po/POTFILES.in,
+ sample/simplecal/po/TEXTDOMAIN, sample/simplecal/po/all.pot,
+ sample/simplecal/po/ar.po, sample/simplecal/po/ar_SA.po,
+ sample/simplecal/po/de.po, sample/simplecal/po/de_AT.po,
+ sample/simplecal/po/fr.po, sample/simplecal/po/ga.po,
+ sample/simplecal/po/it.po, sample/simplecal/po/nl.po,
+ sample/simplecal/po/org.imperia.simplecal.pot, sample/simplecal/po/pt.po,
+ sample/simplecal/po/pt_BR.po, sample/simplecal/po/ru.po: added directory
+ sample with a self-containing example
+
+ * README: updated
+
+ * lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/RecodeData/_Encode.pm, lib/Locale/TextDomain.pm,
+ lib/Locale/gettext_pp.pm: # fixed Emacs variables
+
+  2003-07-15 Guido Flohr <address@hidden>
+
+ * ChangeLog: # re-generated
+
+ * BUGS, MANIFEST, README, TODO: updated
+
+ * lib/Locale/TextDomain.pm: - changed placeholder format to {curlies} -
+ bumped version number to 0.13
+
+  2003-07-14 Guido Flohr <address@hidden>
+
+ * ChangeLog: # updated
+
+ * lib/Locale/gettext_pp.pm: early exit if no directories for catalogs exist
+
+ * ChangeLog: updated
+
+ * lib/Locale/Messages.pm: return converted string in utf8_off
+
+  2003-07-14 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/gettext_pp.pm: syntax errors
+
+ * lib/Locale/Messages.pm, lib/Locale/gettext_pp.pm: performance tweaks
+
+  2003-07-14 Guido Flohr <address@hidden>
+
+ * lib/Locale/TextDomain.pm: fixed fatal typo
+
+ * lib/Locale/gettext_pp.pm: - use nl_langinfo() if available to determine
+ output charset - variable names
+
+  2003-06-30 Guido Flohr <address@hidden>
+
+ * lib/Locale/Recode.pm: compatibility tweak, (SuSE rpm perl-5.8.0-104!)
+
+  2003-06-27 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/Messages.pm: fixed pod error
+
+ * lib/Locale/gettext_pp.pm: fixed pod errors
+
+  2003-06-27 Guido Flohr <address@hidden>
+
+ * lib/Locale/Recode.pm: fixed for new conversion interface
+
+  2003-06-23 Guido Flohr <address@hidden>
+
+ * ChangeLog: ChangeLog
+
+ * lib/Locale/gettext_pp.pm: *** empty log message ***
+
+ * ChangeLog: # updated
+
+ * lib/Locale/gettext_pp.pm: - avoid intermediate function calls - renamed
+ internal functions to initial values in order to avoid unintended
+ similarities to GNU implementation
+
+ * ChangeLog: updated
+
+  2003-06-23 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/RecodeData/ASMO_449.pm, lib/Locale/RecodeData/ATARI_ST.pm,
+ lib/Locale/RecodeData/ATARI_ST_EURO.pm, lib/Locale/RecodeData/CP10007.pm,
+ lib/Locale/RecodeData/CP1250.pm, lib/Locale/RecodeData/CP1251.pm,
+ lib/Locale/RecodeData/CP1252.pm, lib/Locale/RecodeData/CP1253.pm,
+ lib/Locale/RecodeData/CP1254.pm, lib/Locale/RecodeData/CP1256.pm,
+ lib/Locale/RecodeData/CP1257.pm, lib/Locale/RecodeData/CSN_369103.pm,
+ lib/Locale/RecodeData/CWI.pm, lib/Locale/RecodeData/DEC_MCS.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_RU.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/NEXTSTEP.pm, lib/Locale/RecodeData/SAMI_WS2.pm,
+ lib/Locale/RecodeData/TIS_620.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm: - use
+ strict;  moved up - no bare words after 'use base'
+
+ * lib/Locale/TextDomain.pm: fixed typo in pod
+
+  2003-06-23 Guido Flohr <address@hidden>
+
+ * lib/Locale/TextDomain.pm: leave undefined placeholders untouched
+
+  2003-06-20 Guido Flohr <address@hidden>
+
+ * ChangeLog: updated
+
+ * lib/Locale/TextDomain.pm: bumped version number to 0.11
+
+ * ChangeLog: new
+
+ * MANIFEST: - added ChangeLog - added KOI8-RU files
+
+ * MANIFEST.SKIP: also exclude x-shell scripts from distcheck
+
+ * lib/Locale/Messages.pm: always turn utf-8 flag off for messages
+
+ * lib/Locale/gettext_pp.pm: untaint the plural header code
+
+ * lib/Locale/gettext_pp.pm: avoid re-loading of message catalogs
+
+  2003-06-16 Guido Flohr <address@hidden>
+
+ * lib/Locale/Recode/_Conversions.pm: $optional_conversion may *only* contain
+ the preferred MIME names!
+
+ * lib/Locale/RecodeData/ISO_8859_1.pm: bugfix for Perl without Encode
+
+ * lib/Locale/RecodeData/US_ASCII.pm, t/02us-ascii.t: - now replaces with
+ Unicode replacement char 0xfffd - fixed test
+
+ * MANIFEST, MANIFEST.SKIP, Makefile.PL, lib/Locale/Messages.pm,
+ lib/Locale/Recode.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/TextDomain.pm, lib/Locale/gettext_pp.pm: - general clean-up -
+ added and fixed documentation - added MANIFEST.SKIP
+
+ * test-benchmark: removed unmaintained benchmark test
+
+ * lib/Locale/Recode/_Aliases.pm: general clean-up
+
+ * lib/Locale/RecodeData/ISO_IR_197.pm, lib/Locale/RecodeData/ISO_IR_209.pm,
+ t/02iso-ir-197.t, t/02iso-ir-209.t: removed iso-ir-{197,209}
+
+ * t/02utf-8.t: utf-8 should now pass all tests, even with Perl 5.8
+
+ * t/02mac.t: Mac is now Macintosh
+
+ * lib/Locale/RecodeData/KOI8_RU.pm, t/02koi8-ru.t: added KOI8-RU
+
+ * lib/Locale/RecodeData/NEXTSTEP.pm, t/02nextstep.t: NextStep encoding added
+
+ * lib/Locale/RecodeData/MACARABIC.pm, lib/Locale/RecodeData/MACCROATIAN.pm,
+ lib/Locale/RecodeData/MACCYRILLIC.pm, lib/Locale/RecodeData/MACGREEK.pm,
+ lib/Locale/RecodeData/MACHEBREW.pm, lib/Locale/RecodeData/MACICELAND.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MACROMANIA.pm,
+ lib/Locale/RecodeData/MACTHAI.pm, lib/Locale/RecodeData/MACTURKISH.pm,
+ lib/Locale/RecodeData/MACUKRAINE.pm, t/02macarabic.t, t/02maccroatian.t,
+ t/02maccyrillic.t, t/02macgreek.t, t/02machebrew.t, t/02maciceland.t,
+ t/02macintosh.t, t/02macromania.t, t/02macthai.t, t/02macturkish.t,
+ t/02macukraine.t: Macintosh encodings added
+
+ * lib/Locale/RecodeData/ASCII.pm, lib/Locale/RecodeData/US_ASCII.pm,
+ t/02ascii.t, t/02us-ascii.t: renamed ASCII to US-ASCII
+
+ * lib/Locale/RecodeData/_Encode.pm: wrapper around converters realized with
+ Encode(3pm)
+
+  2003-06-15 Guido Flohr <address@hidden>
+
+ * MANIFEST, THANKS, lib/Locale/Recode/_Aliases.pm,
+ lib/Locale/Recode/_Conversions.pm, lib/Locale/RecodeData/ATARI_ST.pm,
+ lib/Locale/RecodeData/ATARI_ST_EURO.pm, t/02atari-st-euro.t, t/02atari-st.t,
+ t/02x-atari-st-euro.t, t/02x-atari-st.t: renamed X-ATARI-ST and
+ X-ATARI-ST-EURO to ATARI-ST and ATARI-ST-EURO
+
+ * BUGS, MANIFEST, lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/EUC_KR.pod, lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_11.pm, lib/Locale/RecodeData/ISO_8859_13.pm,
+ lib/Locale/RecodeData/ISO_8859_14.pm, lib/Locale/RecodeData/ISO_8859_15.pm,
+ lib/Locale/RecodeData/ISO_8859_16.pm, lib/Locale/RecodeData/ISO_8859_2.pm,
+ lib/Locale/RecodeData/ISO_8859_3.pm, lib/Locale/RecodeData/ISO_8859_4.pm,
+ lib/Locale/RecodeData/ISO_8859_5.pm, lib/Locale/RecodeData/ISO_8859_6.pm,
+ lib/Locale/RecodeData/ISO_8859_7.pm, lib/Locale/RecodeData/ISO_8859_8.pm,
+ lib/Locale/RecodeData/ISO_8859_9.pm, lib/Locale/RecodeData/ISO_IR_197.pm,
+ lib/Locale/RecodeData/ISO_IR_209.pm, lib/Locale/RecodeData/KOI8_R.pm,
+ lib/Locale/RecodeData/KOI8_T.pm, lib/Locale/RecodeData/KOI8_U.pm,
+ lib/Locale/RecodeData/KOI_8.pm, lib/Locale/RecodeData/LATIN_GREEK.pm,
+ lib/Locale/RecodeData/LATIN_GREEK_1.pm, lib/Locale/RecodeData/MACINTOSH.pm,
+ lib/Locale/RecodeData/MAC_IS.pm, lib/Locale/RecodeData/MAC_SAMI.pm,
+ lib/Locale/RecodeData/MAC_UK.pm, lib/Locale/RecodeData/MS_KANJI.pod,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/SAMI_WS2.pm, lib/Locale/RecodeData/TIS_620.pm,
+ lib/Locale/RecodeData/UTF_8_Encode.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/TextDomain.pm, lib/Locale/gettext_pp.pm, t/02ascii.t,
+ t/02asmo_449.t, t/02atari-st-euro.t, t/02atari-st.t, t/02cp10007.t,
+ t/02cp1250.t, t/02cp1251.t, t/02cp1252.t, t/02cp1253.t, t/02cp1254.t,
+ t/02cp1256.t, t/02cp1257.t, t/02csn_369103.t, t/02cwi.t, t/02dec-mcs.t,
+ t/02ebcdic-at-de-a.t, t/02ebcdic-at-de.t, t/02ebcdic-ca-fr.t,
+ t/02ebcdic-dk-no-a.t, t/02ebcdic-dk-no.t, t/02ebcdic-es-a.t,
+ t/02ebcdic-es-s.t, t/02ebcdic-es.t, t/02ebcdic-fi-se-a.t, t/02ebcdic-fi-se.t,
+ t/02ebcdic-fr.t, t/02ebcdic-is-friss.t, t/02ebcdic-it.t, t/02ebcdic-pt.t,
+ t/02ebcdic-uk.t, t/02ebcdic-us.t, t/02ecma-cyrillic.t, t/02euc-kr.t,
+ t/02georgian-academy.t, t/02georgian-ps.t, t/02gost_19768-74.t,
+ t/02greek-ccitt.t, t/02greek7-old.t, t/02greek7.t, t/02hp-roman8.t,
+ t/02ibm037.t, t/02ibm038.t, t/02ibm1004.t, t/02ibm1026.t, t/02ibm1047.t,
+ t/02ibm256.t, t/02ibm273.t, t/02ibm274.t, t/02ibm275.t, t/02ibm277.t,
+ t/02ibm278.t, t/02ibm280.t, t/02ibm281.t, t/02ibm284.t, t/02ibm285.t,
+ t/02ibm290.t, t/02ibm297.t, t/02ibm420.t, t/02ibm423.t, t/02ibm424.t,
+ t/02ibm437.t, t/02ibm500.t, t/02ibm850.t, t/02ibm851.t, t/02ibm852.t,
+ t/02ibm855.t, t/02ibm857.t, t/02ibm860.t, t/02ibm861.t, t/02ibm862.t,
+ t/02ibm863.t, t/02ibm864.t, t/02ibm865.t, t/02ibm866.t, t/02ibm868.t,
+ t/02ibm869.t, t/02ibm870.t, t/02ibm871.t, t/02ibm874.t, t/02ibm875.t,
+ t/02ibm880.t, t/02ibm891.t, t/02ibm903.t, t/02ibm904.t, t/02ibm905.t,
+ t/02ibm918.t, t/02iec_p27-1.t, t/02inis-8.t, t/02inis-cyrillic.t, t/02inis.t,
+ t/02iso-8859-1.t, t/02iso-8859-10.t, t/02iso-8859-11.t, t/02iso-8859-13.t,
+ t/02iso-8859-14.t, t/02iso-8859-15.t, t/02iso-8859-16.t, t/02iso-8859-2.t,
+ t/02iso-8859-3.t, t/02iso-8859-4.t, t/02iso-8859-5.t, t/02iso-8859-6.t,
+ t/02iso-8859-7.t, t/02iso-8859-8.t, t/02iso-8859-9.t, t/02iso-ir-197.t,
+ t/02iso-ir-209.t, t/02iso_10367-box.t, t/02iso_2033-1983.t,
+ t/02iso_5427-ext.t, t/02iso_5427.t, t/02iso_5428.t, t/02koi-8.t,
+ t/02koi8-r.t, t/02koi8-t.t, t/02koi8-u.t, t/02latin-greek-1.t,
+ t/02latin-greek.t, t/02mac-is.t, t/02mac-sami.t, t/02mac-uk.t, t/02mac.t,
+ t/02macintosh.t, t/02ms_kanji.t, t/02nats-dano.t, t/02nats-sefi.t,
+ t/02sami-ws2.t, t/02tis-620.t, t/02utf-8.t, t/02viscii.t,
+ t/02x-atari-st-euro.t, t/02x-atari-st.t, t/03bind_textdomain_codeset.t,
+ t/03bindtextdomain.t, t/03bindtextdomain_pp.t, t/03dcgettext.t,
+ t/03dcngettext.t, t/03dcngettext_pp.t, t/03dgettext.t, t/03dngettext.t,
+ t/03dngettext_pp.t, t/03gettext.t, t/03ngettext.t, t/03ngettext_pp.t: - added
+ and updated lots of documentation - use Encode if possible - added prototypes
+ to procedural interfaces - regenerated conversion tables - removed multi-byte
+ encodings
+
+  2003-06-13 Guido Flohr <address@hidden>
+
+ * lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/UTF_8_Encode.pm: vim
+ line
+
+  2003-06-10 Guido Flohr <address@hidden>
+
+ * MANIFEST: added README-MSDOS
+
+ * lib/Locale/gettext_pp.pm: moved version information to Locale::TextDomain
+
+ * lib/Locale/Messages.pm: truth value
+
+ * lib/Locale/TextDomain.pm: new
+
+ * Makefile.PL: get version from Locale::TextDomain
+
+ * MANIFEST: - added Locale/TextDomain.pm - t/02ms_kanji.t was forgotten
+
+  2003-06-06 Guido Flohr <address@hidden>
+
+ * README-MSDOS: special notes for MS-DOS
+
+ * t/03bind_textdomain_codeset_pp.t, t/03dcgettext_pp.t, t/03dcngettext_pp.t,
+ t/03dgettext_pp.t, t/03dngettext_pp.t, t/03gettext_pp.t, t/03ngettext_pp.t:
+ compatibility tweaks for MS-DOS
+
+ * MANIFEST, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData/BIG_5.pm, lib/Locale/RecodeData/CP1361.pm,
+ lib/Locale/RecodeData/CP1361.pod, lib/Locale/RecodeData/CP949.pm,
+ lib/Locale/RecodeData/CP949.pod, lib/Locale/RecodeData/EUC_JP.pm,
+ lib/Locale/RecodeData/EUC_JP.pod, lib/Locale/RecodeData/EUC_TW.pm,
+ lib/Locale/RecodeData/MS_KANJI.pm, lib/Locale/RecodeData/MS_KANJI.pod,
+ t/02big-5.t, t/02cp1361.t, t/02cp949.t, t/02euc-jp.t, t/02euc-tw.t,
+ t/02ms_kanji.t: - optimized CJK multi-byte encodings
+
+  2003-06-05 Guido Flohr <address@hidden>
+
+ * BUGS, MANIFEST, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData/EUC_TW.pm: fixed EUC-TW and optimized it, attention:
+ U+5344 has three representations
+
+ * lib/Locale/RecodeData/BIG_5.pm: removed superfluous inner parentheses in
+ conversion re
+
+ * lib/Locale/RecodeData/EUC_JP.pm, lib/Locale/RecodeData/EUC_KR.pm: optimized
+ conversion
+
+ * lib/Locale/RecodeData/BIG_5.pm: optimized conversion
+
+ * lib/Locale/RecodeData/MS_KANJI.pm: more optimizations
+
+ * lib/Locale/RecodeData/MS_KANJI.pm: compiled regular expression with
+ modifier s
+
+ * lib/Locale/RecodeData/MS_KANJI.pm: removed debugging code
+
+ * lib/Locale/RecodeData/MS_KANJI.pm: optimized conversion
+
+ * MANIFEST, TODO, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData/BIG_5.pm, lib/Locale/RecodeData/BIG_5.pod,
+ lib/Locale/RecodeData/EUC_KR.pod, lib/Locale/RecodeData/MS_KANJI.pm,
+ lib/Locale/RecodeData/MS_KANJI.pod, t/02euc-kr.t: - insert empty lines in
+ contiguous areas of large PODs - support for Korean CP1361 (JOHAB) - support
+ for Korean CP949 (UHC) - support for EUC (JP, KR, and TW)
+
+  2003-06-05 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/RecodeData/BIG_5.pm, lib/Locale/RecodeData/MS_KANJI.pm: Perl
+ 5.005 issue (base.pm Bug)
+
+  2003-06-05 Guido Flohr <address@hidden>
+
+ * MANIFEST, TODO, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData/MS_KANJI.pod, t/02ms_kanji.t: - support for MS_Kanji
+ (Shift-JIS) - support for Big-5 (traditional Chinese)
+
+  2003-06-04 Guido Flohr <address@hidden>
+
+ * lib/Locale/RecodeData/ISO_8859_11.pm: updated origin information for
+ ISO-8859-11
+
+ * MANIFEST, lib/Locale/Recode.pm, lib/Locale/Recode/_Aliases.pm,
+ lib/Locale/Recode/_Conversions.pm, lib/Locale/RecodeData/ISO_8859_11.pm,
+ lib/Locale/gettext_pp.pm, t/02iso-8859-11.t: support for ISO-8859-11
+
+ * Makefile.PL: extract version from gettext_pp, not Recode
+
+  2003-06-02 Guido Flohr <address@hidden>
+
+ * MANIFEST, Makefile.PL, README, THANKS, lib/Locale/Messages.pm,
+ lib/Locale/Recode.pm, lib/Locale/Recode/_Aliases.pm,
+ lib/Locale/Recode/_Conversions.pm, lib/Locale/RecodeData.pm,
+ lib/Locale/RecodeData/ASCII.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_13.pm, lib/Locale/RecodeData/ISO_8859_14.pm,
+ lib/Locale/RecodeData/ISO_8859_15.pm, lib/Locale/RecodeData/ISO_8859_16.pm,
+ lib/Locale/RecodeData/ISO_8859_2.pm, lib/Locale/RecodeData/ISO_8859_3.pm,
+ lib/Locale/RecodeData/ISO_8859_4.pm, lib/Locale/RecodeData/ISO_8859_5.pm,
+ lib/Locale/RecodeData/ISO_8859_6.pm, lib/Locale/RecodeData/ISO_8859_7.pm,
+ lib/Locale/RecodeData/ISO_8859_8.pm, lib/Locale/RecodeData/ISO_8859_9.pm,
+ lib/Locale/RecodeData/ISO_IR_197.pm, lib/Locale/RecodeData/ISO_IR_209.pm,
+ lib/Locale/RecodeData/KOI8_R.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/SAMI_WS2.pm, lib/Locale/RecodeData/TIS_620.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/UTF_8_Encode.pm,
+ lib/Locale/RecodeData/VISCII.pm, lib/Locale/gettext_pp.pm, t/02ascii.t,
+ t/02asmo_449.t, t/02atari-st-euro.t, t/02atari-st.t, t/02cp10007.t,
+ t/02cp1250.t, t/02cp1251.t, t/02cp1252.t, t/02cp1253.t, t/02cp1254.t,
+ t/02cp1256.t, t/02cp1257.t, t/02csn_369103.t, t/02cwi.t, t/02dec-mcs.t,
+ t/02ebcdic-at-de-a.t, t/02ebcdic-at-de.t, t/02ebcdic-ca-fr.t,
+ t/02ebcdic-dk-no-a.t, t/02ebcdic-dk-no.t, t/02ebcdic-es-a.t,
+ t/02ebcdic-es-s.t, t/02ebcdic-es.t, t/02ebcdic-fi-se-a.t, t/02ebcdic-fi-se.t,
+ t/02ebcdic-fr.t, t/02ebcdic-is-friss.t, t/02ebcdic-it.t, t/02ebcdic-pt.t,
+ t/02ebcdic-uk.t, t/02ebcdic-us.t, t/02ecma-cyrillic.t,
+ t/02georgian-academy.t, t/02georgian-ps.t, t/02gost_19768-74.t,
+ t/02greek-ccitt.t, t/02greek7-old.t, t/02greek7.t, t/02hp-roman8.t,
+ t/02ibm037.t, t/02ibm038.t, t/02ibm1004.t, t/02ibm1026.t, t/02ibm1047.t,
+ t/02ibm256.t, t/02ibm273.t, t/02ibm274.t, t/02ibm275.t, t/02ibm277.t,
+ t/02ibm278.t, t/02ibm280.t, t/02ibm281.t, t/02ibm284.t, t/02ibm285.t,
+ t/02ibm290.t, t/02ibm297.t, t/02ibm420.t, t/02ibm423.t, t/02ibm424.t,
+ t/02ibm437.t, t/02ibm500.t, t/02ibm850.t, t/02ibm851.t, t/02ibm852.t,
+ t/02ibm855.t, t/02ibm857.t, t/02ibm860.t, t/02ibm861.t, t/02ibm862.t,
+ t/02ibm863.t, t/02ibm864.t, t/02ibm865.t, t/02ibm866.t, t/02ibm868.t,
+ t/02ibm869.t, t/02ibm870.t, t/02ibm871.t, t/02ibm874.t, t/02ibm875.t,
+ t/02ibm880.t, t/02ibm891.t, t/02ibm903.t, t/02ibm904.t, t/02ibm905.t,
+ t/02ibm918.t, t/02iec_p27-1.t, t/02inis-8.t, t/02inis-cyrillic.t, t/02inis.t,
+ t/02iso-8859-1.t, t/02iso-8859-10.t, t/02iso-8859-13.t, t/02iso-8859-14.t,
+ t/02iso-8859-15.t, t/02iso-8859-16.t, t/02iso-8859-2.t, t/02iso-8859-3.t,
+ t/02iso-8859-4.t, t/02iso-8859-5.t, t/02iso-8859-6.t, t/02iso-8859-7.t,
+ t/02iso-8859-8.t, t/02iso-8859-9.t, t/02iso-ir-197.t, t/02iso-ir-209.t,
+ t/02iso_10367-box.t, t/02iso_2033-1983.t, t/02iso_5427-ext.t, t/02iso_5427.t,
+ t/02iso_5428.t, t/02koi-8.t, t/02koi8-r.t, t/02koi8-t.t, t/02koi8-u.t,
+ t/02latin-greek-1.t, t/02latin-greek.t, t/02mac-is.t, t/02mac-sami.t,
+ t/02mac-uk.t, t/02macintosh.t, t/02nats-dano.t, t/02nats-sefi.t,
+ t/02sami-ws2.t, t/02tis-620.t, t/02utf-8.t, t/02viscii.t, test-benchmark: -
+ support for Perl 5.8 - vim lines - emacs variables - changed copyright
+ statements - general update
+
+  2003-01-20 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/gettext_pp.pm: eval '&POSIX::LC_MESSAGES' only if
+ $POSIX::{LC_MESSAGES} exists (avoiding calls to Carp and avoiding problems
+ with ptkdb step over)
+
+  2003-01-10 Oliver Hoos <address@hidden>
+
+ * MANIFEST, Makefile.PL: fixed for new directory structure
+
+  2002-10-22 Ingrid Graefen <address@hidden>
+
+ * lib/Locale/RecodeData/ASCII.pm, lib/Locale/RecodeData/ASMO_449.pm,
+ lib/Locale/RecodeData/ATARI_ST.pm, lib/Locale/RecodeData/ATARI_ST_EURO.pm,
+ lib/Locale/RecodeData/CP10007.pm, lib/Locale/RecodeData/CP1250.pm,
+ lib/Locale/RecodeData/CP1251.pm, lib/Locale/RecodeData/CP1252.pm,
+ lib/Locale/RecodeData/CP1253.pm, lib/Locale/RecodeData/CP1254.pm,
+ lib/Locale/RecodeData/CP1256.pm, lib/Locale/RecodeData/CP1257.pm,
+ lib/Locale/RecodeData/CSN_369103.pm, lib/Locale/RecodeData/CWI.pm,
+ lib/Locale/RecodeData/DEC_MCS.pm, lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_13.pm, lib/Locale/RecodeData/ISO_8859_14.pm,
+ lib/Locale/RecodeData/ISO_8859_15.pm, lib/Locale/RecodeData/ISO_8859_16.pm,
+ lib/Locale/RecodeData/ISO_8859_2.pm, lib/Locale/RecodeData/ISO_8859_3.pm,
+ lib/Locale/RecodeData/ISO_8859_4.pm, lib/Locale/RecodeData/ISO_8859_5.pm,
+ lib/Locale/RecodeData/ISO_8859_6.pm, lib/Locale/RecodeData/ISO_8859_7.pm,
+ lib/Locale/RecodeData/ISO_8859_8.pm, lib/Locale/RecodeData/ISO_8859_9.pm,
+ lib/Locale/RecodeData/ISO_IR_197.pm, lib/Locale/RecodeData/ISO_IR_209.pm,
+ lib/Locale/RecodeData/KOI8_R.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/SAMI_WS2.pm, lib/Locale/RecodeData/TIS_620.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm: no BAREWORD
+ after use base
+
+  2002-08-16 Guido Flohr <address@hidden>
+
+ * Artistic, COPYING, MANIFEST, Makefile.PL, README, THANKS, _Aliases.pm,
+ _Conversions.pm, gettext_pp.pm, lib/Locale/Messages.pm, lib/Locale/Recode.pm,
+ lib/Locale/Recode/_Aliases.pm, lib/Locale/Recode/_Conversions.pm,
+ lib/Locale/RecodeData.pm, lib/Locale/RecodeData/ASCII.pm,
+ lib/Locale/RecodeData/ASMO_449.pm, lib/Locale/RecodeData/ATARI_ST.pm,
+ lib/Locale/RecodeData/ATARI_ST_EURO.pm, lib/Locale/RecodeData/CP10007.pm,
+ lib/Locale/RecodeData/CP1250.pm, lib/Locale/RecodeData/CP1251.pm,
+ lib/Locale/RecodeData/CP1252.pm, lib/Locale/RecodeData/CP1253.pm,
+ lib/Locale/RecodeData/CP1254.pm, lib/Locale/RecodeData/CP1256.pm,
+ lib/Locale/RecodeData/CP1257.pm, lib/Locale/RecodeData/CSN_369103.pm,
+ lib/Locale/RecodeData/CWI.pm, lib/Locale/RecodeData/DEC_MCS.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE.pm,
+ lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ lib/Locale/RecodeData/EBCDIC_CA_FR.pm, lib/Locale/RecodeData/EBCDIC_DK_NO.pm,
+ lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm, lib/Locale/RecodeData/EBCDIC_ES.pm,
+ lib/Locale/RecodeData/EBCDIC_ES_A.pm, lib/Locale/RecodeData/EBCDIC_ES_S.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE.pm,
+ lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm, lib/Locale/RecodeData/EBCDIC_FR.pm,
+ lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm, lib/Locale/RecodeData/EBCDIC_IT.pm,
+ lib/Locale/RecodeData/EBCDIC_PT.pm, lib/Locale/RecodeData/EBCDIC_UK.pm,
+ lib/Locale/RecodeData/EBCDIC_US.pm, lib/Locale/RecodeData/ECMA_CYRILLIC.pm,
+ lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ lib/Locale/RecodeData/GEORGIAN_PS.pm, lib/Locale/RecodeData/GOST_19768_74.pm,
+ lib/Locale/RecodeData/GREEK7.pm, lib/Locale/RecodeData/GREEK7_OLD.pm,
+ lib/Locale/RecodeData/GREEK_CCITT.pm, lib/Locale/RecodeData/HP_ROMAN8.pm,
+ lib/Locale/RecodeData/IBM037.pm, lib/Locale/RecodeData/IBM038.pm,
+ lib/Locale/RecodeData/IBM1004.pm, lib/Locale/RecodeData/IBM1026.pm,
+ lib/Locale/RecodeData/IBM1047.pm, lib/Locale/RecodeData/IBM256.pm,
+ lib/Locale/RecodeData/IBM273.pm, lib/Locale/RecodeData/IBM274.pm,
+ lib/Locale/RecodeData/IBM275.pm, lib/Locale/RecodeData/IBM277.pm,
+ lib/Locale/RecodeData/IBM278.pm, lib/Locale/RecodeData/IBM280.pm,
+ lib/Locale/RecodeData/IBM281.pm, lib/Locale/RecodeData/IBM284.pm,
+ lib/Locale/RecodeData/IBM285.pm, lib/Locale/RecodeData/IBM290.pm,
+ lib/Locale/RecodeData/IBM297.pm, lib/Locale/RecodeData/IBM420.pm,
+ lib/Locale/RecodeData/IBM423.pm, lib/Locale/RecodeData/IBM424.pm,
+ lib/Locale/RecodeData/IBM437.pm, lib/Locale/RecodeData/IBM500.pm,
+ lib/Locale/RecodeData/IBM850.pm, lib/Locale/RecodeData/IBM851.pm,
+ lib/Locale/RecodeData/IBM852.pm, lib/Locale/RecodeData/IBM855.pm,
+ lib/Locale/RecodeData/IBM857.pm, lib/Locale/RecodeData/IBM860.pm,
+ lib/Locale/RecodeData/IBM861.pm, lib/Locale/RecodeData/IBM862.pm,
+ lib/Locale/RecodeData/IBM863.pm, lib/Locale/RecodeData/IBM864.pm,
+ lib/Locale/RecodeData/IBM865.pm, lib/Locale/RecodeData/IBM866.pm,
+ lib/Locale/RecodeData/IBM868.pm, lib/Locale/RecodeData/IBM869.pm,
+ lib/Locale/RecodeData/IBM870.pm, lib/Locale/RecodeData/IBM871.pm,
+ lib/Locale/RecodeData/IBM874.pm, lib/Locale/RecodeData/IBM875.pm,
+ lib/Locale/RecodeData/IBM880.pm, lib/Locale/RecodeData/IBM891.pm,
+ lib/Locale/RecodeData/IBM903.pm, lib/Locale/RecodeData/IBM904.pm,
+ lib/Locale/RecodeData/IBM905.pm, lib/Locale/RecodeData/IBM918.pm,
+ lib/Locale/RecodeData/IEC_P27_1.pm, lib/Locale/RecodeData/INIS.pm,
+ lib/Locale/RecodeData/INIS_8.pm, lib/Locale/RecodeData/INIS_CYRILLIC.pm,
+ lib/Locale/RecodeData/ISO_10367_BOX.pm,
+ lib/Locale/RecodeData/ISO_2033_1983.pm, lib/Locale/RecodeData/ISO_5427.pm,
+ lib/Locale/RecodeData/ISO_5427_EXT.pm, lib/Locale/RecodeData/ISO_5428.pm,
+ lib/Locale/RecodeData/ISO_8859_1.pm, lib/Locale/RecodeData/ISO_8859_10.pm,
+ lib/Locale/RecodeData/ISO_8859_13.pm, lib/Locale/RecodeData/ISO_8859_14.pm,
+ lib/Locale/RecodeData/ISO_8859_15.pm, lib/Locale/RecodeData/ISO_8859_16.pm,
+ lib/Locale/RecodeData/ISO_8859_2.pm, lib/Locale/RecodeData/ISO_8859_3.pm,
+ lib/Locale/RecodeData/ISO_8859_4.pm, lib/Locale/RecodeData/ISO_8859_5.pm,
+ lib/Locale/RecodeData/ISO_8859_6.pm, lib/Locale/RecodeData/ISO_8859_7.pm,
+ lib/Locale/RecodeData/ISO_8859_8.pm, lib/Locale/RecodeData/ISO_8859_9.pm,
+ lib/Locale/RecodeData/ISO_IR_197.pm, lib/Locale/RecodeData/ISO_IR_209.pm,
+ lib/Locale/RecodeData/KOI8_R.pm, lib/Locale/RecodeData/KOI8_T.pm,
+ lib/Locale/RecodeData/KOI8_U.pm, lib/Locale/RecodeData/KOI_8.pm,
+ lib/Locale/RecodeData/LATIN_GREEK.pm, lib/Locale/RecodeData/LATIN_GREEK_1.pm,
+ lib/Locale/RecodeData/MACINTOSH.pm, lib/Locale/RecodeData/MAC_IS.pm,
+ lib/Locale/RecodeData/MAC_SAMI.pm, lib/Locale/RecodeData/MAC_UK.pm,
+ lib/Locale/RecodeData/NATS_DANO.pm, lib/Locale/RecodeData/NATS_SEFI.pm,
+ lib/Locale/RecodeData/SAMI_WS2.pm, lib/Locale/RecodeData/TIS_620.pm,
+ lib/Locale/RecodeData/UTF_8.pm, lib/Locale/RecodeData/VISCII.pm,
+ lib/Locale/gettext_pp.pm, test-benchmark: unchaos
+
+ * ASCII.pm, ASMO_449.pm, ATARI_ST.pm, ATARI_ST_EURO.pm, Artistic, COPYING,
+ CP10007.pm, CP1250.pm, CP1251.pm, CP1252.pm, CP1253.pm, CP1254.pm, CP1256.pm,
+ CP1257.pm, CSN_369103.pm, CWI.pm, DEC_MCS.pm, EBCDIC_AT_DE.pm,
+ EBCDIC_AT_DE_A.pm, EBCDIC_CA_FR.pm, EBCDIC_DK_NO.pm, EBCDIC_DK_NO_A.pm,
+ EBCDIC_ES.pm, EBCDIC_ES_A.pm, EBCDIC_ES_S.pm, EBCDIC_FI_SE.pm,
+ EBCDIC_FI_SE_A.pm, EBCDIC_FR.pm, EBCDIC_IS_FRISS.pm, EBCDIC_IT.pm,
+ EBCDIC_PT.pm, EBCDIC_UK.pm, EBCDIC_US.pm, ECMA_CYRILLIC.pm,
+ GEORGIAN_ACADEMY.pm, GEORGIAN_PS.pm, GOST_19768_74.pm, GREEK7.pm,
+ GREEK7_OLD.pm, GREEK_CCITT.pm, HP_ROMAN8.pm, IBM037.pm, IBM038.pm,
+ IBM1004.pm, IBM1026.pm, IBM1047.pm, IBM256.pm, IBM273.pm, IBM274.pm,
+ IBM275.pm, IBM277.pm, IBM278.pm, IBM280.pm, IBM281.pm, IBM284.pm, IBM285.pm,
+ IBM290.pm, IBM297.pm, IBM420.pm, IBM423.pm, IBM424.pm, IBM437.pm, IBM500.pm,
+ IBM850.pm, IBM851.pm, IBM852.pm, IBM855.pm, IBM857.pm, IBM860.pm, IBM861.pm,
+ IBM862.pm, IBM863.pm, IBM864.pm, IBM865.pm, IBM866.pm, IBM868.pm, IBM869.pm,
+ IBM870.pm, IBM871.pm, IBM874.pm, IBM875.pm, IBM880.pm, IBM891.pm, IBM903.pm,
+ IBM904.pm, IBM905.pm, IBM918.pm, IEC_P27_1.pm, INIS.pm, INIS_8.pm,
+ INIS_CYRILLIC.pm, ISO_10367_BOX.pm, ISO_2033_1983.pm, ISO_5427.pm,
+ ISO_5427_EXT.pm, ISO_5428.pm, ISO_8859_1.pm, ISO_8859_10.pm, ISO_8859_13.pm,
+ ISO_8859_14.pm, ISO_8859_15.pm, ISO_8859_16.pm, ISO_8859_2.pm, ISO_8859_3.pm,
+ ISO_8859_4.pm, ISO_8859_5.pm, ISO_8859_6.pm, ISO_8859_7.pm, ISO_8859_8.pm,
+ ISO_8859_9.pm, ISO_IR_197.pm, ISO_IR_209.pm, KOI8_R.pm, KOI8_T.pm, KOI8_U.pm,
+ KOI_8.pm, LATIN_GREEK.pm, LATIN_GREEK_1.pm, MACINTOSH.pm, MAC_IS.pm,
+ MAC_SAMI.pm, MAC_UK.pm, MANIFEST, Makefile.PL, Messages.pm, NATS_DANO.pm,
+ NATS_SEFI.pm, README, Recode.pm, RecodeData.pm, SAMI_WS2.pm, THANKS,
+ TIS_620.pm, UTF_8.pm, VISCII.pm, test-benchmark: unchaos
+
+ * ASCII.pm, ASMO_449.pm, ATARI_ST.pm, ATARI_ST_EURO.pm, CP10007.pm,
+ CP1250.pm, CP1251.pm, CP1252.pm, CP1253.pm, CP1254.pm, CP1256.pm, CP1257.pm,
+ CSN_369103.pm, CWI.pm, DEC_MCS.pm, EBCDIC_AT_DE.pm, EBCDIC_AT_DE_A.pm,
+ EBCDIC_CA_FR.pm, EBCDIC_DK_NO.pm, EBCDIC_DK_NO_A.pm, EBCDIC_ES.pm,
+ EBCDIC_ES_A.pm, EBCDIC_ES_S.pm, EBCDIC_FI_SE.pm, EBCDIC_FI_SE_A.pm,
+ EBCDIC_FR.pm, EBCDIC_IS_FRISS.pm, EBCDIC_IT.pm, EBCDIC_PT.pm, EBCDIC_UK.pm,
+ EBCDIC_US.pm, ECMA_CYRILLIC.pm, GEORGIAN_ACADEMY.pm, GEORGIAN_PS.pm,
+ GOST_19768_74.pm, GREEK7.pm, GREEK7_OLD.pm, GREEK_CCITT.pm, HP_ROMAN8.pm,
+ IBM037.pm, IBM038.pm, IBM1004.pm, IBM1026.pm, IBM1047.pm, IBM256.pm,
+ IBM273.pm, IBM274.pm, IBM275.pm, IBM277.pm, IBM278.pm, IBM280.pm, IBM281.pm,
+ IBM284.pm, IBM285.pm, IBM290.pm, IBM297.pm, IBM420.pm, IBM423.pm, IBM424.pm,
+ IBM437.pm, IBM500.pm, IBM850.pm, IBM851.pm, IBM852.pm, IBM855.pm, IBM857.pm,
+ IBM860.pm, IBM861.pm, IBM862.pm, IBM863.pm, IBM864.pm, IBM865.pm, IBM866.pm,
+ IBM868.pm, IBM869.pm, IBM870.pm, IBM871.pm, IBM874.pm, IBM875.pm, IBM880.pm,
+ IBM891.pm, IBM903.pm, IBM904.pm, IBM905.pm, IBM918.pm, IEC_P27_1.pm, INIS.pm,
+ INIS_8.pm, INIS_CYRILLIC.pm, ISO_10367_BOX.pm, ISO_2033_1983.pm, ISO_5427.pm,
+ ISO_5427_EXT.pm, ISO_5428.pm, ISO_8859_1.pm, ISO_8859_10.pm, ISO_8859_13.pm,
+ ISO_8859_14.pm, ISO_8859_15.pm, ISO_8859_16.pm, ISO_8859_2.pm, ISO_8859_3.pm,
+ ISO_8859_4.pm, ISO_8859_5.pm, ISO_8859_6.pm, ISO_8859_7.pm, ISO_8859_8.pm,
+ ISO_8859_9.pm, ISO_IR_197.pm, ISO_IR_209.pm, KOI8_R.pm, KOI8_T.pm, KOI8_U.pm,
+ KOI_8.pm, LATIN_GREEK.pm, LATIN_GREEK_1.pm, Locale/Messages.pm,
+ Locale/Recode.pm, Locale/Recode/_Aliases.pm, Locale/Recode/_Conversions.pm,
+ Locale/RecodeData.pm, Locale/RecodeData/ASCII.pm,
+ Locale/RecodeData/ASMO_449.pm, Locale/RecodeData/ATARI_ST.pm,
+ Locale/RecodeData/ATARI_ST_EURO.pm, Locale/RecodeData/CP10007.pm,
+ Locale/RecodeData/CP1250.pm, Locale/RecodeData/CP1251.pm,
+ Locale/RecodeData/CP1252.pm, Locale/RecodeData/CP1253.pm,
+ Locale/RecodeData/CP1254.pm, Locale/RecodeData/CP1256.pm,
+ Locale/RecodeData/CP1257.pm, Locale/RecodeData/CSN_369103.pm,
+ Locale/RecodeData/CWI.pm, Locale/RecodeData/DEC_MCS.pm,
+ Locale/RecodeData/EBCDIC_AT_DE.pm, Locale/RecodeData/EBCDIC_AT_DE_A.pm,
+ Locale/RecodeData/EBCDIC_CA_FR.pm, Locale/RecodeData/EBCDIC_DK_NO.pm,
+ Locale/RecodeData/EBCDIC_DK_NO_A.pm, Locale/RecodeData/EBCDIC_ES.pm,
+ Locale/RecodeData/EBCDIC_ES_A.pm, Locale/RecodeData/EBCDIC_ES_S.pm,
+ Locale/RecodeData/EBCDIC_FI_SE.pm, Locale/RecodeData/EBCDIC_FI_SE_A.pm,
+ Locale/RecodeData/EBCDIC_FR.pm, Locale/RecodeData/EBCDIC_IS_FRISS.pm,
+ Locale/RecodeData/EBCDIC_IT.pm, Locale/RecodeData/EBCDIC_PT.pm,
+ Locale/RecodeData/EBCDIC_UK.pm, Locale/RecodeData/EBCDIC_US.pm,
+ Locale/RecodeData/ECMA_CYRILLIC.pm, Locale/RecodeData/GEORGIAN_ACADEMY.pm,
+ Locale/RecodeData/GEORGIAN_PS.pm, Locale/RecodeData/GOST_19768_74.pm,
+ Locale/RecodeData/GREEK7.pm, Locale/RecodeData/GREEK7_OLD.pm,
+ Locale/RecodeData/GREEK_CCITT.pm, Locale/RecodeData/HP_ROMAN8.pm,
+ Locale/RecodeData/IBM037.pm, Locale/RecodeData/IBM038.pm,
+ Locale/RecodeData/IBM1004.pm, Locale/RecodeData/IBM1026.pm,
+ Locale/RecodeData/IBM1047.pm, Locale/RecodeData/IBM256.pm,
+ Locale/RecodeData/IBM273.pm, Locale/RecodeData/IBM274.pm,
+ Locale/RecodeData/IBM275.pm, Locale/RecodeData/IBM277.pm,
+ Locale/RecodeData/IBM278.pm, Locale/RecodeData/IBM280.pm,
+ Locale/RecodeData/IBM281.pm, Locale/RecodeData/IBM284.pm,
+ Locale/RecodeData/IBM285.pm, Locale/RecodeData/IBM290.pm,
+ Locale/RecodeData/IBM297.pm, Locale/RecodeData/IBM420.pm,
+ Locale/RecodeData/IBM423.pm, Locale/RecodeData/IBM424.pm,
+ Locale/RecodeData/IBM437.pm, Locale/RecodeData/IBM500.pm,
+ Locale/RecodeData/IBM850.pm, Locale/RecodeData/IBM851.pm,
+ Locale/RecodeData/IBM852.pm, Locale/RecodeData/IBM855.pm,
+ Locale/RecodeData/IBM857.pm, Locale/RecodeData/IBM860.pm,
+ Locale/RecodeData/IBM861.pm, Locale/RecodeData/IBM862.pm,
+ Locale/RecodeData/IBM863.pm, Locale/RecodeData/IBM864.pm,
+ Locale/RecodeData/IBM865.pm, Locale/RecodeData/IBM866.pm,
+ Locale/RecodeData/IBM868.pm, Locale/RecodeData/IBM869.pm,
+ Locale/RecodeData/IBM870.pm, Locale/RecodeData/IBM871.pm,
+ Locale/RecodeData/IBM874.pm, Locale/RecodeData/IBM875.pm,
+ Locale/RecodeData/IBM880.pm, Locale/RecodeData/IBM891.pm,
+ Locale/RecodeData/IBM903.pm, Locale/RecodeData/IBM904.pm,
+ Locale/RecodeData/IBM905.pm, Locale/RecodeData/IBM918.pm,
+ Locale/RecodeData/IEC_P27_1.pm, Locale/RecodeData/INIS.pm,
+ Locale/RecodeData/INIS_8.pm, Locale/RecodeData/INIS_CYRILLIC.pm,
+ Locale/RecodeData/ISO_10367_BOX.pm, Locale/RecodeData/ISO_2033_1983.pm,
+ Locale/RecodeData/ISO_5427.pm, Locale/RecodeData/ISO_5427_EXT.pm,
+ Locale/RecodeData/ISO_5428.pm, Locale/RecodeData/ISO_8859_1.pm,
+ Locale/RecodeData/ISO_8859_10.pm, Locale/RecodeData/ISO_8859_13.pm,
+ Locale/RecodeData/ISO_8859_14.pm, Locale/RecodeData/ISO_8859_15.pm,
+ Locale/RecodeData/ISO_8859_16.pm, Locale/RecodeData/ISO_8859_2.pm,
+ Locale/RecodeData/ISO_8859_3.pm, Locale/RecodeData/ISO_8859_4.pm,
+ Locale/RecodeData/ISO_8859_5.pm, Locale/RecodeData/ISO_8859_6.pm,
+ Locale/RecodeData/ISO_8859_7.pm, Locale/RecodeData/ISO_8859_8.pm,
+ Locale/RecodeData/ISO_8859_9.pm, Locale/RecodeData/ISO_IR_197.pm,
+ Locale/RecodeData/ISO_IR_209.pm, Locale/RecodeData/KOI8_R.pm,
+ Locale/RecodeData/KOI8_T.pm, Locale/RecodeData/KOI8_U.pm,
+ Locale/RecodeData/KOI_8.pm, Locale/RecodeData/LATIN_GREEK.pm,
+ Locale/RecodeData/LATIN_GREEK_1.pm, Locale/RecodeData/MACINTOSH.pm,
+ Locale/RecodeData/MAC_IS.pm, Locale/RecodeData/MAC_SAMI.pm,
+ Locale/RecodeData/MAC_UK.pm, Locale/RecodeData/NATS_DANO.pm,
+ Locale/RecodeData/NATS_SEFI.pm, Locale/RecodeData/SAMI_WS2.pm,
+ Locale/RecodeData/TIS_620.pm, Locale/RecodeData/UTF_8.pm,
+ Locale/RecodeData/VISCII.pm, Locale/gettext_pp.pm, MACINTOSH.pm, MAC_IS.pm,
+ MAC_SAMI.pm, MAC_UK.pm, MANIFEST, Makefile.PL, Messages.pm, NATS_DANO.pm,
+ NATS_SEFI.pm, Recode.pm, RecodeData.pm, SAMI_WS2.pm, TIS_620.pm, UTF_8.pm,
+ VISCII.pm, _Aliases.pm, _Conversions.pm, gettext_pp.pm: moved modules to
+ subdirectory lib
+
+  2002-08-01 Guido Flohr <address@hidden>
+
+ * MANIFEST: updated
+
+ * Locale/Recode.pm: version number to 0.05
+
+ * Locale/RecodeData/UTF_8.pm: implemented decoding of UTF-8 for Perl < 5.6.0
+
+ * t/00gettext.t: forgotten to add
+
+  2002-07-16 Guido Flohr <address@hidden>
+
+ * Locale/Recode.pm: do not list unsupported charsets in getCharsets().
+
+ * Locale/Recode/_Aliases.pm, Locale/Recode/_Conversions.pm,
+ Locale/RecodeData/ASCII.pm, Locale/RecodeData/ASMO_449.pm,
+ Locale/RecodeData/ATARI_ST.pm, Locale/RecodeData/ATARI_ST_EURO.pm,
+ Locale/RecodeData/CP10007.pm, Locale/RecodeData/CP1250.pm,
+ Locale/RecodeData/CP1251.pm, Locale/RecodeData/CP1252.pm,
+ Locale/RecodeData/CP1253.pm, Locale/RecodeData/CP1254.pm,
+ Locale/RecodeData/CP1256.pm, Locale/RecodeData/CP1257.pm,
+ Locale/RecodeData/CSN_369103.pm, Locale/RecodeData/CWI.pm,
+ Locale/RecodeData/DEC_MCS.pm, Locale/RecodeData/EBCDIC_AT_DE.pm,
+ Locale/RecodeData/EBCDIC_AT_DE_A.pm, Locale/RecodeData/EBCDIC_CA_FR.pm,
+ Locale/RecodeData/EBCDIC_DK_NO.pm, Locale/RecodeData/EBCDIC_DK_NO_A.pm,
+ Locale/RecodeData/EBCDIC_ES.pm, Locale/RecodeData/EBCDIC_ES_A.pm,
+ Locale/RecodeData/EBCDIC_ES_S.pm, Locale/RecodeData/EBCDIC_FI_SE.pm,
+ Locale/RecodeData/EBCDIC_FI_SE_A.pm, Locale/RecodeData/EBCDIC_FR.pm,
+ Locale/RecodeData/EBCDIC_IS_FRISS.pm, Locale/RecodeData/EBCDIC_IT.pm,
+ Locale/RecodeData/EBCDIC_PT.pm, Locale/RecodeData/EBCDIC_UK.pm,
+ Locale/RecodeData/EBCDIC_US.pm, Locale/RecodeData/ECMA_CYRILLIC.pm,
+ Locale/RecodeData/GEORGIAN_ACADEMY.pm, Locale/RecodeData/GEORGIAN_PS.pm,
+ Locale/RecodeData/GOST_19768_74.pm, Locale/RecodeData/GREEK7.pm,
+ Locale/RecodeData/GREEK7_OLD.pm, Locale/RecodeData/GREEK_CCITT.pm,
+ Locale/RecodeData/HP_ROMAN8.pm, Locale/RecodeData/IBM037.pm,
+ Locale/RecodeData/IBM038.pm, Locale/RecodeData/IBM1004.pm,
+ Locale/RecodeData/IBM1026.pm, Locale/RecodeData/IBM1047.pm,
+ Locale/RecodeData/IBM256.pm, Locale/RecodeData/IBM273.pm,
+ Locale/RecodeData/IBM274.pm, Locale/RecodeData/IBM275.pm,
+ Locale/RecodeData/IBM277.pm, Locale/RecodeData/IBM278.pm,
+ Locale/RecodeData/IBM280.pm, Locale/RecodeData/IBM281.pm,
+ Locale/RecodeData/IBM284.pm, Locale/RecodeData/IBM285.pm,
+ Locale/RecodeData/IBM290.pm, Locale/RecodeData/IBM297.pm,
+ Locale/RecodeData/IBM420.pm, Locale/RecodeData/IBM423.pm,
+ Locale/RecodeData/IBM424.pm, Locale/RecodeData/IBM437.pm,
+ Locale/RecodeData/IBM500.pm, Locale/RecodeData/IBM850.pm,
+ Locale/RecodeData/IBM851.pm, Locale/RecodeData/IBM852.pm,
+ Locale/RecodeData/IBM855.pm, Locale/RecodeData/IBM857.pm,
+ Locale/RecodeData/IBM860.pm, Locale/RecodeData/IBM861.pm,
+ Locale/RecodeData/IBM862.pm, Locale/RecodeData/IBM863.pm,
+ Locale/RecodeData/IBM864.pm, Locale/RecodeData/IBM865.pm,
+ Locale/RecodeData/IBM866.pm, Locale/RecodeData/IBM868.pm,
+ Locale/RecodeData/IBM869.pm, Locale/RecodeData/IBM870.pm,
+ Locale/RecodeData/IBM871.pm, Locale/RecodeData/IBM874.pm,
+ Locale/RecodeData/IBM875.pm, Locale/RecodeData/IBM880.pm,
+ Locale/RecodeData/IBM891.pm, Locale/RecodeData/IBM903.pm,
+ Locale/RecodeData/IBM904.pm, Locale/RecodeData/IBM905.pm,
+ Locale/RecodeData/IBM918.pm, Locale/RecodeData/IEC_P27_1.pm,
+ Locale/RecodeData/INIS.pm, Locale/RecodeData/INIS_8.pm,
+ Locale/RecodeData/INIS_CYRILLIC.pm, Locale/RecodeData/ISO_10367_BOX.pm,
+ Locale/RecodeData/ISO_2033_1983.pm, Locale/RecodeData/ISO_5427.pm,
+ Locale/RecodeData/ISO_5427_EXT.pm, Locale/RecodeData/ISO_5428.pm,
+ Locale/RecodeData/ISO_8859_1.pm, Locale/RecodeData/ISO_8859_10.pm,
+ Locale/RecodeData/ISO_8859_13.pm, Locale/RecodeData/ISO_8859_14.pm,
+ Locale/RecodeData/ISO_8859_15.pm, Locale/RecodeData/ISO_8859_16.pm,
+ Locale/RecodeData/ISO_8859_2.pm, Locale/RecodeData/ISO_8859_3.pm,
+ Locale/RecodeData/ISO_8859_4.pm, Locale/RecodeData/ISO_8859_5.pm,
+ Locale/RecodeData/ISO_8859_6.pm, Locale/RecodeData/ISO_8859_7.pm,
+ Locale/RecodeData/ISO_8859_8.pm, Locale/RecodeData/ISO_8859_9.pm,
+ Locale/RecodeData/ISO_IR_197.pm, Locale/RecodeData/ISO_IR_209.pm,
+ Locale/RecodeData/KOI8_R.pm, Locale/RecodeData/KOI8_T.pm,
+ Locale/RecodeData/KOI8_U.pm, Locale/RecodeData/KOI_8.pm,
+ Locale/RecodeData/LATIN_GREEK.pm, Locale/RecodeData/LATIN_GREEK_1.pm,
+ Locale/RecodeData/MACINTOSH.pm, Locale/RecodeData/MAC_IS.pm,
+ Locale/RecodeData/MAC_SAMI.pm, Locale/RecodeData/MAC_UK.pm,
+ Locale/RecodeData/NATS_DANO.pm, Locale/RecodeData/NATS_SEFI.pm,
+ Locale/RecodeData/SAMI_WS2.pm, Locale/RecodeData/TIS_620.pm,
+ Locale/RecodeData/UTF_8.pm, Locale/RecodeData/VISCII.pm: renamed Iconv to
+ Recode
+
+  2002-07-15 Guido Flohr <address@hidden>
+
+ * MANIFEST: updated
+
+ * Locale/gettext_pp.pm: - fixed retrieving of plural forms from mo files -
+ implemented bind_textdomain_codeset - fixed setlocale() inquiries - more
+ Locale::gettext compatibility
+
+ * Locale/Messages.pm: - now requires (imaginary) Locale::gettext 2.00 - also
+ require this Locale::gettext version with select_package - fixed warning in
+ select_package
+
+ * Locale/Recode.pm, Locale/RecodeData.pm, Makefile.PL: renamed Iconv to
+ Recode
+
+ * t/po/Makefile, t/po/additional.de.po, t/po/additional.de_AT.po,
+ t/po/existing.de.po, t/po/existing.de_AT.po: added tests for gettext library
+
+ * Locale/Iconv.pm, Locale/Iconv/_Aliases.pm, Locale/Iconv/_Conversions.pm,
+ Locale/IconvData.pm, Locale/IconvData/ASCII.pm, Locale/IconvData/ASMO_449.pm,
+ Locale/IconvData/ATARI_ST.pm, Locale/IconvData/ATARI_ST_EURO.pm,
+ Locale/IconvData/CP10007.pm, Locale/IconvData/CP1250.pm,
+ Locale/IconvData/CP1251.pm, Locale/IconvData/CP1252.pm,
+ Locale/IconvData/CP1253.pm, Locale/IconvData/CP1254.pm,
+ Locale/IconvData/CP1256.pm, Locale/IconvData/CP1257.pm,
+ Locale/IconvData/CSN_369103.pm, Locale/IconvData/CWI.pm,
+ Locale/IconvData/DEC_MCS.pm, Locale/IconvData/EBCDIC_AT_DE.pm,
+ Locale/IconvData/EBCDIC_AT_DE_A.pm, Locale/IconvData/EBCDIC_CA_FR.pm,
+ Locale/IconvData/EBCDIC_DK_NO.pm, Locale/IconvData/EBCDIC_DK_NO_A.pm,
+ Locale/IconvData/EBCDIC_ES.pm, Locale/IconvData/EBCDIC_ES_A.pm,
+ Locale/IconvData/EBCDIC_ES_S.pm, Locale/IconvData/EBCDIC_FI_SE.pm,
+ Locale/IconvData/EBCDIC_FI_SE_A.pm, Locale/IconvData/EBCDIC_FR.pm,
+ Locale/IconvData/EBCDIC_IS_FRISS.pm, Locale/IconvData/EBCDIC_IT.pm,
+ Locale/IconvData/EBCDIC_PT.pm, Locale/IconvData/EBCDIC_UK.pm,
+ Locale/IconvData/EBCDIC_US.pm, Locale/IconvData/ECMA_CYRILLIC.pm,
+ Locale/IconvData/GEORGIAN_ACADEMY.pm, Locale/IconvData/GEORGIAN_PS.pm,
+ Locale/IconvData/GOST_19768_74.pm, Locale/IconvData/GREEK7.pm,
+ Locale/IconvData/GREEK7_OLD.pm, Locale/IconvData/GREEK_CCITT.pm,
+ Locale/IconvData/HP_ROMAN8.pm, Locale/IconvData/IBM037.pm,
+ Locale/IconvData/IBM038.pm, Locale/IconvData/IBM1004.pm,
+ Locale/IconvData/IBM1026.pm, Locale/IconvData/IBM1047.pm,
+ Locale/IconvData/IBM256.pm, Locale/IconvData/IBM273.pm,
+ Locale/IconvData/IBM274.pm, Locale/IconvData/IBM275.pm,
+ Locale/IconvData/IBM277.pm, Locale/IconvData/IBM278.pm,
+ Locale/IconvData/IBM280.pm, Locale/IconvData/IBM281.pm,
+ Locale/IconvData/IBM284.pm, Locale/IconvData/IBM285.pm,
+ Locale/IconvData/IBM290.pm, Locale/IconvData/IBM297.pm,
+ Locale/IconvData/IBM420.pm, Locale/IconvData/IBM423.pm,
+ Locale/IconvData/IBM424.pm, Locale/IconvData/IBM437.pm,
+ Locale/IconvData/IBM500.pm, Locale/IconvData/IBM850.pm,
+ Locale/IconvData/IBM851.pm, Locale/IconvData/IBM852.pm,
+ Locale/IconvData/IBM855.pm, Locale/IconvData/IBM857.pm,
+ Locale/IconvData/IBM860.pm, Locale/IconvData/IBM861.pm,
+ Locale/IconvData/IBM862.pm, Locale/IconvData/IBM863.pm,
+ Locale/IconvData/IBM864.pm, Locale/IconvData/IBM865.pm,
+ Locale/IconvData/IBM866.pm, Locale/IconvData/IBM868.pm,
+ Locale/IconvData/IBM869.pm, Locale/IconvData/IBM870.pm,
+ Locale/IconvData/IBM871.pm, Locale/IconvData/IBM874.pm,
+ Locale/IconvData/IBM875.pm, Locale/IconvData/IBM880.pm,
+ Locale/IconvData/IBM891.pm, Locale/IconvData/IBM903.pm,
+ Locale/IconvData/IBM904.pm, Locale/IconvData/IBM905.pm,
+ Locale/IconvData/IBM918.pm, Locale/IconvData/IEC_P27_1.pm,
+ Locale/IconvData/INIS.pm, Locale/IconvData/INIS_8.pm,
+ Locale/IconvData/INIS_CYRILLIC.pm, Locale/IconvData/ISO_10367_BOX.pm,
+ Locale/IconvData/ISO_2033_1983.pm, Locale/IconvData/ISO_5427.pm,
+ Locale/IconvData/ISO_5427_EXT.pm, Locale/IconvData/ISO_5428.pm,
+ Locale/IconvData/ISO_8859_1.pm, Locale/IconvData/ISO_8859_10.pm,
+ Locale/IconvData/ISO_8859_13.pm, Locale/IconvData/ISO_8859_14.pm,
+ Locale/IconvData/ISO_8859_15.pm, Locale/IconvData/ISO_8859_16.pm,
+ Locale/IconvData/ISO_8859_2.pm, Locale/IconvData/ISO_8859_3.pm,
+ Locale/IconvData/ISO_8859_4.pm, Locale/IconvData/ISO_8859_5.pm,
+ Locale/IconvData/ISO_8859_6.pm, Locale/IconvData/ISO_8859_7.pm,
+ Locale/IconvData/ISO_8859_8.pm, Locale/IconvData/ISO_8859_9.pm,
+ Locale/IconvData/ISO_IR_197.pm, Locale/IconvData/ISO_IR_209.pm,
+ Locale/IconvData/KOI8_R.pm, Locale/IconvData/KOI8_T.pm,
+ Locale/IconvData/KOI8_U.pm, Locale/IconvData/KOI_8.pm,
+ Locale/IconvData/LATIN_GREEK.pm, Locale/IconvData/LATIN_GREEK_1.pm,
+ Locale/IconvData/MACINTOSH.pm, Locale/IconvData/MAC_IS.pm,
+ Locale/IconvData/MAC_SAMI.pm, Locale/IconvData/MAC_UK.pm,
+ Locale/IconvData/NATS_DANO.pm, Locale/IconvData/NATS_SEFI.pm,
+ Locale/IconvData/SAMI_WS2.pm, Locale/IconvData/TIS_620.pm,
+ Locale/IconvData/UTF_8.pm, Locale/IconvData/VISCII.pm: renamed from Iconv to
+ Recode
+
+ * t/00base.t, t/00recode.t, t/01trivial.t, t/02ascii.t, t/02asmo_449.t,
+ t/02atari-st-euro.t, t/02atari-st.t, t/02cp10007.t, t/02cp1250.t,
+ t/02cp1251.t, t/02cp1252.t, t/02cp1253.t, t/02cp1254.t, t/02cp1256.t,
+ t/02cp1257.t, t/02csn_369103.t, t/02cwi.t, t/02dec-mcs.t,
+ t/02ebcdic-at-de-a.t, t/02ebcdic-at-de.t, t/02ebcdic-ca-fr.t,
+ t/02ebcdic-dk-no-a.t, t/02ebcdic-dk-no.t, t/02ebcdic-es-a.t,
+ t/02ebcdic-es-s.t, t/02ebcdic-es.t, t/02ebcdic-fi-se-a.t, t/02ebcdic-fi-se.t,
+ t/02ebcdic-fr.t, t/02ebcdic-is-friss.t, t/02ebcdic-it.t, t/02ebcdic-pt.t,
+ t/02ebcdic-uk.t, t/02ebcdic-us.t, t/02ecma-cyrillic.t,
+ t/02georgian-academy.t, t/02georgian-ps.t, t/02gost_19768-74.t,
+ t/02greek-ccitt.t, t/02greek7-old.t, t/02greek7.t, t/02hp-roman8.t,
+ t/02ibm037.t, t/02ibm038.t, t/02ibm1004.t, t/02ibm1026.t, t/02ibm1047.t,
+ t/02ibm256.t, t/02ibm273.t, t/02ibm274.t, t/02ibm275.t, t/02ibm277.t,
+ t/02ibm278.t, t/02ibm280.t, t/02ibm281.t, t/02ibm284.t, t/02ibm285.t,
+ t/02ibm290.t, t/02ibm297.t, t/02ibm420.t, t/02ibm423.t, t/02ibm424.t,
+ t/02ibm437.t, t/02ibm500.t, t/02ibm850.t, t/02ibm851.t, t/02ibm852.t,
+ t/02ibm855.t, t/02ibm857.t, t/02ibm860.t, t/02ibm861.t, t/02ibm862.t,
+ t/02ibm863.t, t/02ibm864.t, t/02ibm865.t, t/02ibm866.t, t/02ibm868.t,
+ t/02ibm869.t, t/02ibm870.t, t/02ibm871.t, t/02ibm874.t, t/02ibm875.t,
+ t/02ibm880.t, t/02ibm891.t, t/02ibm903.t, t/02ibm904.t, t/02ibm905.t,
+ t/02ibm918.t, t/02iec_p27-1.t, t/02inis-8.t, t/02inis-cyrillic.t, t/02inis.t,
+ t/02iso-8859-1.t, t/02iso-8859-10.t, t/02iso-8859-13.t, t/02iso-8859-14.t,
+ t/02iso-8859-15.t, t/02iso-8859-16.t, t/02iso-8859-2.t, t/02iso-8859-3.t,
+ t/02iso-8859-4.t, t/02iso-8859-5.t, t/02iso-8859-6.t, t/02iso-8859-7.t,
+ t/02iso-8859-8.t, t/02iso-8859-9.t, t/02iso-ir-197.t, t/02iso-ir-209.t,
+ t/02iso_10367-box.t, t/02iso_2033-1983.t, t/02iso_5427-ext.t, t/02iso_5427.t,
+ t/02iso_5428.t, t/02koi-8.t, t/02koi8-r.t, t/02koi8-t.t, t/02koi8-u.t,
+ t/02latin-greek-1.t, t/02latin-greek.t, t/02mac-is.t, t/02mac-sami.t,
+ t/02mac-uk.t, t/02macintosh.t, t/02nats-dano.t, t/02nats-sefi.t,
+ t/02sami-ws2.t, t/02tis-620.t, t/02utf-8.t, t/02viscii.t, t/ascii.t,
+ t/asmo_449.t, t/atari-st-euro.t, t/atari-st.t, t/cp10007.t, t/cp1250.t,
+ t/cp1251.t, t/cp1252.t, t/cp1253.t, t/cp1254.t, t/cp1256.t, t/cp1257.t,
+ t/csn_369103.t, t/cwi.t, t/dec-mcs.t, t/ebcdic-at-de-a.t, t/ebcdic-at-de.t,
+ t/ebcdic-ca-fr.t, t/ebcdic-dk-no-a.t, t/ebcdic-dk-no.t, t/ebcdic-es-a.t,
+ t/ebcdic-es-s.t, t/ebcdic-es.t, t/ebcdic-fi-se-a.t, t/ebcdic-fi-se.t,
+ t/ebcdic-fr.t, t/ebcdic-is-friss.t, t/ebcdic-it.t, t/ebcdic-pt.t,
+ t/ebcdic-uk.t, t/ebcdic-us.t, t/ecma-cyrillic.t, t/georgian-academy.t,
+ t/georgian-ps.t, t/gost_19768-74.t, t/greek-ccitt.t, t/greek7-old.t,
+ t/greek7.t, t/hp-roman8.t, t/ibm037.t, t/ibm038.t, t/ibm1004.t, t/ibm1026.t,
+ t/ibm1047.t, t/ibm256.t, t/ibm273.t, t/ibm274.t, t/ibm275.t, t/ibm277.t,
+ t/ibm278.t, t/ibm280.t, t/ibm281.t, t/ibm284.t, t/ibm285.t, t/ibm290.t,
+ t/ibm297.t, t/ibm420.t, t/ibm423.t, t/ibm424.t, t/ibm437.t, t/ibm500.t,
+ t/ibm850.t, t/ibm851.t, t/ibm852.t, t/ibm855.t, t/ibm857.t, t/ibm860.t,
+ t/ibm861.t, t/ibm862.t, t/ibm863.t, t/ibm864.t, t/ibm865.t, t/ibm866.t,
+ t/ibm868.t, t/ibm869.t, t/ibm870.t, t/ibm871.t, t/ibm874.t, t/ibm875.t,
+ t/ibm880.t, t/ibm891.t, t/ibm903.t, t/ibm904.t, t/ibm905.t, t/ibm918.t,
+ t/iec_p27-1.t, t/inis-8.t, t/inis-cyrillic.t, t/inis.t, t/iso-8859-1.t,
+ t/iso-8859-10.t, t/iso-8859-13.t, t/iso-8859-14.t, t/iso-8859-15.t,
+ t/iso-8859-16.t, t/iso-8859-2.t, t/iso-8859-3.t, t/iso-8859-4.t,
+ t/iso-8859-5.t, t/iso-8859-6.t, t/iso-8859-7.t, t/iso-8859-8.t,
+ t/iso-8859-9.t, t/iso-ir-197.t, t/iso-ir-209.t, t/iso_10367-box.t,
+ t/iso_2033-1983.t, t/iso_5427-ext.t, t/iso_5427.t, t/iso_5428.t, t/koi-8.t,
+ t/koi8-r.t, t/koi8-t.t, t/koi8-u.t, t/latin-greek-1.t, t/latin-greek.t,
+ t/mac-is.t, t/mac-sami.t, t/mac-uk.t, t/macintosh.t, t/nats-dano.t,
+ t/nats-sefi.t, t/sami-ws2.t, t/tis-620.t, t/utf-8.t, t/viscii.t: - added
+ tests for gettext library - put numbers in front of file names (ordered
+ tests)
+
+ * t/03bind_textdomain_codeset.t, t/03bind_textdomain_codeset_pp.t,
+ t/03bindtextdomain.t, t/03bindtextdomain_pp.t, t/03dcgettext.t,
+ t/03dcgettext_pp.t, t/03dcngettext.t, t/03dcngettext_pp.t, t/03dgettext.t,
+ t/03dgettext_pp.t, t/03dngettext.t, t/03dngettext_pp.t, t/03gettext.t,
+ t/03gettext_pp.t, t/03ngettext.t, t/03ngettext_pp.t, t/03textdomain.t,
+ t/03textdomain_pp.t, t/locale/de/LC_MESSAGES/additional.mo,
+ t/locale/de/LC_MESSAGES/existing.mo,
+ t/locale/de_AT/LC_MESSAGES/additional.mo,
+ t/locale/de_AT/LC_MESSAGES/existing.mo: added text for gettext library
+
+  2002-07-12 Guido Flohr <address@hidden>
+
+ * t/asmo_449.t, t/atari-st-euro.t, t/atari-st.t, t/cp10007.t, t/cp1250.t,
+ t/cp1251.t, t/cp1252.t, t/cp1253.t, t/cp1254.t, t/cp1256.t, t/cp1257.t,
+ t/csn_369103.t, t/cwi.t, t/dec-mcs.t, t/ebcdic-at-de-a.t, t/ebcdic-at-de.t,
+ t/ebcdic-ca-fr.t, t/ebcdic-dk-no-a.t, t/ebcdic-dk-no.t, t/ebcdic-es-a.t,
+ t/ebcdic-es-s.t, t/ebcdic-es.t, t/ebcdic-fi-se-a.t, t/ebcdic-fi-se.t,
+ t/ebcdic-fr.t, t/ebcdic-is-friss.t, t/ebcdic-it.t, t/ebcdic-pt.t,
+ t/ebcdic-uk.t, t/ebcdic-us.t, t/ecma-cyrillic.t, t/georgian-academy.t,
+ t/georgian-ps.t, t/gost_19768-74.t, t/greek-ccitt.t, t/greek7-old.t,
+ t/greek7.t, t/hp-roman8.t, t/ibm037.t, t/ibm038.t, t/ibm1004.t, t/ibm1026.t,
+ t/ibm1047.t, t/ibm256.t, t/ibm273.t, t/ibm274.t, t/ibm275.t, t/ibm277.t,
+ t/ibm278.t, t/ibm280.t, t/ibm281.t, t/ibm284.t, t/ibm285.t, t/ibm290.t,
+ t/ibm297.t, t/ibm420.t, t/ibm423.t, t/ibm424.t, t/ibm437.t, t/ibm500.t,
+ t/ibm850.t, t/ibm851.t, t/ibm852.t, t/ibm855.t, t/ibm857.t, t/ibm860.t,
+ t/ibm861.t, t/ibm862.t, t/ibm863.t, t/ibm864.t, t/ibm865.t, t/ibm866.t,
+ t/ibm868.t, t/ibm869.t, t/ibm870.t, t/ibm871.t, t/ibm874.t, t/ibm875.t,
+ t/ibm880.t, t/ibm891.t, t/ibm903.t, t/ibm904.t, t/ibm905.t, t/ibm918.t,
+ t/iec_p27-1.t, t/inis-8.t, t/inis-cyrillic.t, t/inis.t, t/iso-8859-1.t,
+ t/iso-8859-10.t, t/iso-8859-13.t, t/iso-8859-14.t, t/iso-8859-15.t,
+ t/iso-8859-16.t, t/iso-8859-2.t, t/iso-8859-3.t, t/iso-8859-4.t,
+ t/iso-8859-5.t, t/iso-8859-6.t, t/iso-8859-7.t, t/iso-8859-8.t,
+ t/iso-8859-9.t, t/iso-ir-197.t, t/iso-ir-209.t, t/iso_10367-box.t,
+ t/iso_2033-1983.t, t/iso_5427-ext.t, t/iso_5427.t, t/iso_5428.t, t/koi-8.t,
+ t/koi8-r.t, t/koi8-t.t, t/koi8-u.t, t/latin-greek-1.t, t/latin-greek.t,
+ t/mac-is.t, t/mac-sami.t, t/mac-uk.t, t/macintosh.t, t/nats-dano.t,
+ t/nats-sefi.t, t/sami-ws2.t, t/tis-620.t, t/viscii.t: removed reference to my
+ home directory
+
+ * Locale/Iconv/_Aliases.pm, Locale/Iconv/_Conversions.pm,
+ Locale/IconvData/ASCII.pm, Locale/IconvData/UTF_8.pm, t/ascii.t, t/utf-8.t:
+ new charsets UTF-8 (requires Perl >= 5.6.0) and ASCII.
+
+  2002-07-10 Guido Flohr <address@hidden>
+
+ * Locale/Iconv.pm: - bumped version number to 0.03
+
+ * Locale/Messages.pm: - properly check for invalid gettext versions
+
+ * test-benchmark: run also against Encode(3pm) in perl 5.8.0
+
+ * Locale/Iconv/_Conversions.pm, Locale/IconvData/ASMO_449.pm,
+ Locale/IconvData/ATARI_ST.pm, Locale/IconvData/ATARI_ST_EURO.pm,
+ Locale/IconvData/CP10007.pm, Locale/IconvData/CP1250.pm,
+ Locale/IconvData/CP1251.pm, Locale/IconvData/CP1252.pm,
+ Locale/IconvData/CP1253.pm, Locale/IconvData/CP1254.pm,
+ Locale/IconvData/CP1256.pm, Locale/IconvData/CP1257.pm,
+ Locale/IconvData/CSN_369103.pm, Locale/IconvData/CWI.pm,
+ Locale/IconvData/DEC_MCS.pm, Locale/IconvData/EBCDIC_AT_DE.pm,
+ Locale/IconvData/EBCDIC_AT_DE_A.pm, Locale/IconvData/EBCDIC_CA_FR.pm,
+ Locale/IconvData/EBCDIC_DK_NO.pm, Locale/IconvData/EBCDIC_DK_NO_A.pm,
+ Locale/IconvData/EBCDIC_ES.pm, Locale/IconvData/EBCDIC_ES_A.pm,
+ Locale/IconvData/EBCDIC_ES_S.pm, Locale/IconvData/EBCDIC_FI_SE.pm,
+ Locale/IconvData/EBCDIC_FI_SE_A.pm, Locale/IconvData/EBCDIC_FR.pm,
+ Locale/IconvData/EBCDIC_IS_FRISS.pm, Locale/IconvData/EBCDIC_IT.pm,
+ Locale/IconvData/EBCDIC_PT.pm, Locale/IconvData/EBCDIC_UK.pm,
+ Locale/IconvData/EBCDIC_US.pm, Locale/IconvData/ECMA_CYRILLIC.pm,
+ Locale/IconvData/GEORGIAN_ACADEMY.pm, Locale/IconvData/GEORGIAN_PS.pm,
+ Locale/IconvData/GOST_19768_74.pm, Locale/IconvData/GREEK7.pm,
+ Locale/IconvData/GREEK7_OLD.pm, Locale/IconvData/GREEK_CCITT.pm,
+ Locale/IconvData/HP_ROMAN8.pm, Locale/IconvData/IBM037.pm,
+ Locale/IconvData/IBM038.pm, Locale/IconvData/IBM1004.pm,
+ Locale/IconvData/IBM1026.pm, Locale/IconvData/IBM1047.pm,
+ Locale/IconvData/IBM256.pm, Locale/IconvData/IBM273.pm,
+ Locale/IconvData/IBM274.pm, Locale/IconvData/IBM275.pm,
+ Locale/IconvData/IBM277.pm, Locale/IconvData/IBM278.pm,
+ Locale/IconvData/IBM280.pm, Locale/IconvData/IBM281.pm,
+ Locale/IconvData/IBM284.pm, Locale/IconvData/IBM285.pm,
+ Locale/IconvData/IBM290.pm, Locale/IconvData/IBM297.pm,
+ Locale/IconvData/IBM420.pm, Locale/IconvData/IBM423.pm,
+ Locale/IconvData/IBM424.pm, Locale/IconvData/IBM437.pm,
+ Locale/IconvData/IBM500.pm, Locale/IconvData/IBM850.pm,
+ Locale/IconvData/IBM851.pm, Locale/IconvData/IBM852.pm,
+ Locale/IconvData/IBM855.pm, Locale/IconvData/IBM857.pm,
+ Locale/IconvData/IBM860.pm, Locale/IconvData/IBM861.pm,
+ Locale/IconvData/IBM862.pm, Locale/IconvData/IBM863.pm,
+ Locale/IconvData/IBM864.pm, Locale/IconvData/IBM865.pm,
+ Locale/IconvData/IBM866.pm, Locale/IconvData/IBM868.pm,
+ Locale/IconvData/IBM869.pm, Locale/IconvData/IBM870.pm,
+ Locale/IconvData/IBM871.pm, Locale/IconvData/IBM874.pm,
+ Locale/IconvData/IBM875.pm, Locale/IconvData/IBM880.pm,
+ Locale/IconvData/IBM891.pm, Locale/IconvData/IBM903.pm,
+ Locale/IconvData/IBM904.pm, Locale/IconvData/IBM905.pm,
+ Locale/IconvData/IBM918.pm, Locale/IconvData/IEC_P27_1.pm,
+ Locale/IconvData/INIS.pm, Locale/IconvData/INIS_8.pm,
+ Locale/IconvData/INIS_CYRILLIC.pm, Locale/IconvData/ISO_10367_BOX.pm,
+ Locale/IconvData/ISO_2033_1983.pm, Locale/IconvData/ISO_5427.pm,
+ Locale/IconvData/ISO_5427_EXT.pm, Locale/IconvData/ISO_5428.pm,
+ Locale/IconvData/ISO_8859_10.pm, Locale/IconvData/ISO_8859_13.pm,
+ Locale/IconvData/ISO_8859_14.pm, Locale/IconvData/ISO_8859_15.pm,
+ Locale/IconvData/ISO_8859_16.pm, Locale/IconvData/ISO_8859_2.pm,
+ Locale/IconvData/ISO_8859_3.pm, Locale/IconvData/ISO_8859_4.pm,
+ Locale/IconvData/ISO_8859_5.pm, Locale/IconvData/ISO_8859_6.pm,
+ Locale/IconvData/ISO_8859_7.pm, Locale/IconvData/ISO_8859_8.pm,
+ Locale/IconvData/ISO_8859_9.pm, Locale/IconvData/ISO_IR_197.pm,
+ Locale/IconvData/ISO_IR_209.pm, Locale/IconvData/KOI8_R.pm,
+ Locale/IconvData/KOI8_T.pm, Locale/IconvData/KOI8_U.pm,
+ Locale/IconvData/KOI_8.pm, Locale/IconvData/LATIN_GREEK.pm,
+ Locale/IconvData/LATIN_GREEK_1.pm, Locale/IconvData/MACINTOSH.pm,
+ Locale/IconvData/MAC_IS.pm, Locale/IconvData/MAC_SAMI.pm,
+ Locale/IconvData/MAC_UK.pm, Locale/IconvData/NATS_DANO.pm,
+ Locale/IconvData/NATS_SEFI.pm, Locale/IconvData/SAMI_WS2.pm,
+ Locale/IconvData/TIS_620.pm, Locale/IconvData/VISCII.pm: - added vim
+ modelines
+
+ * Locale/IconvData/ISO_8859_1.pm: - (hopefully) optimized _recode() - vim
+ modelines
+
+  2002-07-09 Guido Flohr <address@hidden>
+
+ * MANIFEST: now really removed CVS from MANIFEST
+
+ * THANKS: new file
+
+ * Locale/Messages.pm, Locale/gettext_pp.pm, test-benchmark: new files
+
+ * Locale/Iconv/_Conversions.pm: unnecessary optimizations from module
+ generation :-(
+
+ * Locale/Iconv.pm: bumped version number to 0.02
+
+ * Locale/IconvData/ASMO_449.pm, Locale/IconvData/ATARI_ST.pm,
+ Locale/IconvData/ATARI_ST_EURO.pm, Locale/IconvData/CP10007.pm,
+ Locale/IconvData/CP1250.pm, Locale/IconvData/CP1251.pm,
+ Locale/IconvData/CP1252.pm, Locale/IconvData/CP1253.pm,
+ Locale/IconvData/CP1254.pm, Locale/IconvData/CP1256.pm,
+ Locale/IconvData/CP1257.pm, Locale/IconvData/CSN_369103.pm,
+ Locale/IconvData/CWI.pm, Locale/IconvData/DEC_MCS.pm,
+ Locale/IconvData/EBCDIC_AT_DE.pm, Locale/IconvData/EBCDIC_AT_DE_A.pm,
+ Locale/IconvData/EBCDIC_CA_FR.pm, Locale/IconvData/EBCDIC_DK_NO.pm,
+ Locale/IconvData/EBCDIC_DK_NO_A.pm, Locale/IconvData/EBCDIC_ES.pm,
+ Locale/IconvData/EBCDIC_ES_A.pm, Locale/IconvData/EBCDIC_ES_S.pm,
+ Locale/IconvData/EBCDIC_FI_SE.pm, Locale/IconvData/EBCDIC_FI_SE_A.pm,
+ Locale/IconvData/EBCDIC_FR.pm, Locale/IconvData/EBCDIC_IS_FRISS.pm,
+ Locale/IconvData/EBCDIC_IT.pm, Locale/IconvData/EBCDIC_PT.pm,
+ Locale/IconvData/EBCDIC_UK.pm, Locale/IconvData/EBCDIC_US.pm,
+ Locale/IconvData/ECMA_CYRILLIC.pm, Locale/IconvData/GEORGIAN_ACADEMY.pm,
+ Locale/IconvData/GEORGIAN_PS.pm, Locale/IconvData/GOST_19768_74.pm,
+ Locale/IconvData/GREEK7.pm, Locale/IconvData/GREEK7_OLD.pm,
+ Locale/IconvData/GREEK_CCITT.pm, Locale/IconvData/HP_ROMAN8.pm,
+ Locale/IconvData/IBM037.pm, Locale/IconvData/IBM038.pm,
+ Locale/IconvData/IBM1004.pm, Locale/IconvData/IBM1026.pm,
+ Locale/IconvData/IBM1047.pm, Locale/IconvData/IBM256.pm,
+ Locale/IconvData/IBM273.pm, Locale/IconvData/IBM274.pm,
+ Locale/IconvData/IBM275.pm, Locale/IconvData/IBM277.pm,
+ Locale/IconvData/IBM278.pm, Locale/IconvData/IBM280.pm,
+ Locale/IconvData/IBM281.pm, Locale/IconvData/IBM284.pm,
+ Locale/IconvData/IBM285.pm, Locale/IconvData/IBM290.pm,
+ Locale/IconvData/IBM297.pm, Locale/IconvData/IBM420.pm,
+ Locale/IconvData/IBM423.pm, Locale/IconvData/IBM424.pm,
+ Locale/IconvData/IBM437.pm, Locale/IconvData/IBM500.pm,
+ Locale/IconvData/IBM850.pm, Locale/IconvData/IBM851.pm,
+ Locale/IconvData/IBM852.pm, Locale/IconvData/IBM855.pm,
+ Locale/IconvData/IBM857.pm, Locale/IconvData/IBM860.pm,
+ Locale/IconvData/IBM861.pm, Locale/IconvData/IBM862.pm,
+ Locale/IconvData/IBM863.pm, Locale/IconvData/IBM864.pm,
+ Locale/IconvData/IBM865.pm, Locale/IconvData/IBM866.pm,
+ Locale/IconvData/IBM868.pm, Locale/IconvData/IBM869.pm,
+ Locale/IconvData/IBM870.pm, Locale/IconvData/IBM871.pm,
+ Locale/IconvData/IBM874.pm, Locale/IconvData/IBM875.pm,
+ Locale/IconvData/IBM880.pm, Locale/IconvData/IBM891.pm,
+ Locale/IconvData/IBM903.pm, Locale/IconvData/IBM904.pm,
+ Locale/IconvData/IBM905.pm, Locale/IconvData/IBM918.pm,
+ Locale/IconvData/IEC_P27_1.pm, Locale/IconvData/INIS.pm,
+ Locale/IconvData/INIS_8.pm, Locale/IconvData/INIS_CYRILLIC.pm,
+ Locale/IconvData/ISO_10367_BOX.pm, Locale/IconvData/ISO_2033_1983.pm,
+ Locale/IconvData/ISO_5427.pm, Locale/IconvData/ISO_5427_EXT.pm,
+ Locale/IconvData/ISO_5428.pm, Locale/IconvData/ISO_8859_10.pm,
+ Locale/IconvData/ISO_8859_13.pm, Locale/IconvData/ISO_8859_14.pm,
+ Locale/IconvData/ISO_8859_15.pm, Locale/IconvData/ISO_8859_16.pm,
+ Locale/IconvData/ISO_8859_2.pm, Locale/IconvData/ISO_8859_3.pm,
+ Locale/IconvData/ISO_8859_4.pm, Locale/IconvData/ISO_8859_5.pm,
+ Locale/IconvData/ISO_8859_6.pm, Locale/IconvData/ISO_8859_7.pm,
+ Locale/IconvData/ISO_8859_8.pm, Locale/IconvData/ISO_8859_9.pm,
+ Locale/IconvData/ISO_IR_197.pm, Locale/IconvData/ISO_IR_209.pm,
+ Locale/IconvData/KOI8_R.pm, Locale/IconvData/KOI8_T.pm,
+ Locale/IconvData/KOI8_U.pm, Locale/IconvData/KOI_8.pm,
+ Locale/IconvData/LATIN_GREEK.pm, Locale/IconvData/LATIN_GREEK_1.pm,
+ Locale/IconvData/MACINTOSH.pm, Locale/IconvData/MAC_IS.pm,
+ Locale/IconvData/MAC_SAMI.pm, Locale/IconvData/MAC_UK.pm,
+ Locale/IconvData/NATS_DANO.pm, Locale/IconvData/NATS_SEFI.pm,
+ Locale/IconvData/SAMI_WS2.pm, Locale/IconvData/TIS_620.pm,
+ Locale/IconvData/VISCII.pm: performance optimizations
+
+ * MANIFEST: - removed CVS from manifest - added Locale/Messages.pm and
+ Locale/gettext_pp.pm - added test-benchmark
+
+  2002-07-08 Guido Flohr <address@hidden>
+
+ * Artistic, COPYING, Locale/Iconv.pm, Locale/Iconv/_Aliases.pm,
+ Locale/Iconv/_Conversions.pm, Locale/IconvData.pm,
+ Locale/IconvData/ASMO_449.pm, Locale/IconvData/ATARI_ST.pm,
+ Locale/IconvData/ATARI_ST_EURO.pm, Locale/IconvData/CP10007.pm,
+ Locale/IconvData/CP1250.pm, Locale/IconvData/CP1251.pm,
+ Locale/IconvData/CP1252.pm, Locale/IconvData/CP1253.pm,
+ Locale/IconvData/CP1254.pm, Locale/IconvData/CP1256.pm,
+ Locale/IconvData/CP1257.pm, Locale/IconvData/CSN_369103.pm,
+ Locale/IconvData/CWI.pm, Locale/IconvData/DEC_MCS.pm,
+ Locale/IconvData/EBCDIC_AT_DE.pm, Locale/IconvData/EBCDIC_AT_DE_A.pm,
+ Locale/IconvData/EBCDIC_CA_FR.pm, Locale/IconvData/EBCDIC_DK_NO.pm,
+ Locale/IconvData/EBCDIC_DK_NO_A.pm, Locale/IconvData/EBCDIC_ES.pm,
+ Locale/IconvData/EBCDIC_ES_A.pm, Locale/IconvData/EBCDIC_ES_S.pm,
+ Locale/IconvData/EBCDIC_FI_SE.pm, Locale/IconvData/EBCDIC_FI_SE_A.pm,
+ Locale/IconvData/EBCDIC_FR.pm, Locale/IconvData/EBCDIC_IS_FRISS.pm,
+ Locale/IconvData/EBCDIC_IT.pm, Locale/IconvData/EBCDIC_PT.pm,
+ Locale/IconvData/EBCDIC_UK.pm, Locale/IconvData/EBCDIC_US.pm,
+ Locale/IconvData/ECMA_CYRILLIC.pm, Locale/IconvData/GEORGIAN_ACADEMY.pm,
+ Locale/IconvData/GEORGIAN_PS.pm, Locale/IconvData/GOST_19768_74.pm,
+ Locale/IconvData/GREEK7.pm, Locale/IconvData/GREEK7_OLD.pm,
+ Locale/IconvData/GREEK_CCITT.pm, Locale/IconvData/HP_ROMAN8.pm,
+ Locale/IconvData/IBM037.pm, Locale/IconvData/IBM038.pm,
+ Locale/IconvData/IBM1004.pm, Locale/IconvData/IBM1026.pm,
+ Locale/IconvData/IBM1047.pm, Locale/IconvData/IBM256.pm,
+ Locale/IconvData/IBM273.pm, Locale/IconvData/IBM274.pm,
+ Locale/IconvData/IBM275.pm, Locale/IconvData/IBM277.pm,
+ Locale/IconvData/IBM278.pm, Locale/IconvData/IBM280.pm,
+ Locale/IconvData/IBM281.pm, Locale/IconvData/IBM284.pm,
+ Locale/IconvData/IBM285.pm, Locale/IconvData/IBM290.pm,
+ Locale/IconvData/IBM297.pm, Locale/IconvData/IBM420.pm,
+ Locale/IconvData/IBM423.pm, Locale/IconvData/IBM424.pm,
+ Locale/IconvData/IBM437.pm, Locale/IconvData/IBM500.pm,
+ Locale/IconvData/IBM850.pm, Locale/IconvData/IBM851.pm,
+ Locale/IconvData/IBM852.pm, Locale/IconvData/IBM855.pm,
+ Locale/IconvData/IBM857.pm, Locale/IconvData/IBM860.pm,
+ Locale/IconvData/IBM861.pm, Locale/IconvData/IBM862.pm,
+ Locale/IconvData/IBM863.pm, Locale/IconvData/IBM864.pm,
+ Locale/IconvData/IBM865.pm, Locale/IconvData/IBM866.pm,
+ Locale/IconvData/IBM868.pm, Locale/IconvData/IBM869.pm,
+ Locale/IconvData/IBM870.pm, Locale/IconvData/IBM871.pm,
+ Locale/IconvData/IBM874.pm, Locale/IconvData/IBM875.pm,
+ Locale/IconvData/IBM880.pm, Locale/IconvData/IBM891.pm,
+ Locale/IconvData/IBM903.pm, Locale/IconvData/IBM904.pm,
+ Locale/IconvData/IBM905.pm, Locale/IconvData/IBM918.pm,
+ Locale/IconvData/IEC_P27_1.pm, Locale/IconvData/INIS.pm,
+ Locale/IconvData/INIS_8.pm, Locale/IconvData/INIS_CYRILLIC.pm,
+ Locale/IconvData/ISO_10367_BOX.pm, Locale/IconvData/ISO_2033_1983.pm,
+ Locale/IconvData/ISO_5427.pm, Locale/IconvData/ISO_5427_EXT.pm,
+ Locale/IconvData/ISO_5428.pm, Locale/IconvData/ISO_8859_1.pm,
+ Locale/IconvData/ISO_8859_10.pm, Locale/IconvData/ISO_8859_13.pm,
+ Locale/IconvData/ISO_8859_14.pm, Locale/IconvData/ISO_8859_15.pm,
+ Locale/IconvData/ISO_8859_16.pm, Locale/IconvData/ISO_8859_2.pm,
+ Locale/IconvData/ISO_8859_3.pm, Locale/IconvData/ISO_8859_4.pm,
+ Locale/IconvData/ISO_8859_5.pm, Locale/IconvData/ISO_8859_6.pm,
+ Locale/IconvData/ISO_8859_7.pm, Locale/IconvData/ISO_8859_8.pm,
+ Locale/IconvData/ISO_8859_9.pm, Locale/IconvData/ISO_IR_197.pm,
+ Locale/IconvData/ISO_IR_209.pm, Locale/IconvData/KOI8_R.pm,
+ Locale/IconvData/KOI8_T.pm, Locale/IconvData/KOI8_U.pm,
+ Locale/IconvData/KOI_8.pm, Locale/IconvData/LATIN_GREEK.pm,
+ Locale/IconvData/LATIN_GREEK_1.pm, Locale/IconvData/MACINTOSH.pm,
+ Locale/IconvData/MAC_IS.pm, Locale/IconvData/MAC_SAMI.pm,
+ Locale/IconvData/MAC_UK.pm, Locale/IconvData/NATS_DANO.pm,
+ Locale/IconvData/NATS_SEFI.pm, Locale/IconvData/SAMI_WS2.pm,
+ Locale/IconvData/TIS_620.pm, Locale/IconvData/VISCII.pm, MANIFEST,
+ Makefile.PL, README, t/00base.t, t/01trivial.t, t/asmo_449.t,
+ t/atari-st-euro.t, t/atari-st.t, t/cp10007.t, t/cp1250.t, t/cp1251.t,
+ t/cp1252.t, t/cp1253.t, t/cp1254.t, t/cp1256.t, t/cp1257.t, t/csn_369103.t,
+ t/cwi.t, t/dec-mcs.t, t/ebcdic-at-de-a.t, t/ebcdic-at-de.t, t/ebcdic-ca-fr.t,
+ t/ebcdic-dk-no-a.t, t/ebcdic-dk-no.t, t/ebcdic-es-a.t, t/ebcdic-es-s.t,
+ t/ebcdic-es.t, t/ebcdic-fi-se-a.t, t/ebcdic-fi-se.t, t/ebcdic-fr.t,
+ t/ebcdic-is-friss.t, t/ebcdic-it.t, t/ebcdic-pt.t, t/ebcdic-uk.t,
+ t/ebcdic-us.t, t/ecma-cyrillic.t, t/georgian-academy.t, t/georgian-ps.t,
+ t/gost_19768-74.t, t/greek-ccitt.t, t/greek7-old.t, t/greek7.t,
+ t/hp-roman8.t, t/ibm037.t, t/ibm038.t, t/ibm1004.t, t/ibm1026.t, t/ibm1047.t,
+ t/ibm256.t, t/ibm273.t, t/ibm274.t, t/ibm275.t, t/ibm277.t, t/ibm278.t,
+ t/ibm280.t, t/ibm281.t, t/ibm284.t, t/ibm285.t, t/ibm290.t, t/ibm297.t,
+ t/ibm420.t, t/ibm423.t, t/ibm424.t, t/ibm437.t, t/ibm500.t, t/ibm850.t,
+ t/ibm851.t, t/ibm852.t, t/ibm855.t, t/ibm857.t, t/ibm860.t, t/ibm861.t,
+ t/ibm862.t, t/ibm863.t, t/ibm864.t, t/ibm865.t, t/ibm866.t, t/ibm868.t,
+ t/ibm869.t, t/ibm870.t, t/ibm871.t, t/ibm874.t, t/ibm875.t, t/ibm880.t,
+ t/ibm891.t, t/ibm903.t, t/ibm904.t, t/ibm905.t, t/ibm918.t, t/iec_p27-1.t,
+ t/inis-8.t, t/inis-cyrillic.t, t/inis.t, t/iso-8859-1.t, t/iso-8859-10.t,
+ t/iso-8859-13.t, t/iso-8859-14.t, t/iso-8859-15.t, t/iso-8859-16.t,
+ t/iso-8859-2.t, t/iso-8859-3.t, t/iso-8859-4.t, t/iso-8859-5.t,
+ t/iso-8859-6.t, t/iso-8859-7.t, t/iso-8859-8.t, t/iso-8859-9.t,
+ t/iso-ir-197.t, t/iso-ir-209.t, t/iso_10367-box.t, t/iso_2033-1983.t,
+ t/iso_5427-ext.t, t/iso_5427.t, t/iso_5428.t, t/koi-8.t, t/koi8-r.t,
+ t/koi8-t.t, t/koi8-u.t, t/latin-greek-1.t, t/latin-greek.t, t/mac-is.t,
+ t/mac-sami.t, t/mac-uk.t, t/macintosh.t, t/nats-dano.t, t/nats-sefi.t,
+ t/sami-ws2.t, t/tis-620.t, t/viscii.t: Initial revision

Index: maintain/lib/libintl-perl/Credits
===================================================================
RCS file: maintain/lib/libintl-perl/Credits
diff -N maintain/lib/libintl-perl/Credits
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/Credits   12 Oct 2011 23:51:23 -0000      1.1
@@ -0,0 +1,40 @@
+$Id: Credits,v 1.1 2011/10/12 23:51:23 pertusus Exp $
+
+These people have helped in the development of libintl-perl:
+
+- Imperia (http://www.imperia.net/) has contributed this part of the 
+  Enterprise Content Management System Imperia to the Perl community
+  as free software. 
+
+- Joshua Miller <address@hidden> has extended libintl-perl to provide
+  the important context-sensitive functions (pgettext() and friends).
+
+- Christian Lackas <address@hidden> has given various hints on 
+  performance optimizations
+
+- Ingrid Gräfen <address@hidden> has fixed a major performance
+  penalty on systems without POSIX::LC_MESSAGES, and she has extensively
+  tested the Perl backend for GNU xgettext under cygwin 
+
+- Norma Karl <address@hidden> has thoroughly revised the documentation for
+  the Perl backend to GNU xgettext, and she deserves a credit anyway
+
+- Bruno Haible for libiconv which was the base for many conversions and
+  for integrating my Perl backend into GNU gettext
+
+Other people have helped by sending in improvements, suggestions and
+bug reports:
+
+- DH <address@hidden>
+- Jo-Even Skarstein <address@hidden>
+- Gerhard Stoll <address@hidden>
+- Marc Brockschmidt <address@hidden>
+- Laurent Bonnaud <address@hidden>
+- Jan Kratochvil <address@hidden>
+- Светослав Агафонкин <address@hidden>
+- Michael Bell <address@hidden>
+- David Cantrell <address@hidden>
+
+Please inform me if I have forgotten your contribution.
+
+Guido Flohr

Index: maintain/lib/libintl-perl/FAQ
===================================================================
RCS file: maintain/lib/libintl-perl/FAQ
diff -N maintain/lib/libintl-perl/FAQ
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/FAQ       12 Oct 2011 23:51:23 -0000      1.1
@@ -0,0 +1,7 @@
+$Id: FAQ,v 1.1 2011/10/12 23:51:23 pertusus Exp $
+
+The FAQ has been podified, see "perldoc Locale::libintlFAQ".  If you
+haven't installed libintl-perl and read this file in the source distribution,
+either try "perldoc lib/Locale/libintlFAQ.pod", or point your favorite
+web browser to 
+http://search.cpan.org/~guido/libintl-perl/lib/Locale/libintlFAQ.pod.

Index: maintain/lib/libintl-perl/MANIFEST
===================================================================
RCS file: maintain/lib/libintl-perl/MANIFEST
diff -N maintain/lib/libintl-perl/MANIFEST
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/MANIFEST  12 Oct 2011 23:51:23 -0000      1.1
@@ -0,0 +1,390 @@
+COPYING.LESSER                 Lesser GNU Public License
+ChangeLog                      Detailed list of changes
+FAQ                            Frequently asked questions
+MANIFEST                       This list of files
+META.yml                       Generated
+Makefile.PL                    Makefile generator
+MyInstall.pm                   Workaround file
+NEWS                           Latest Changes
+ReleaseNotes                   Same as NEWS
+README                         Read it
+README-oldversions             Where are old versions of this module?
+README.solaris                 Build libintl-perl on Solaris platforms
+README.win32                   Build libintl-perl on MS-DOS platforms
+REFERENCES                     Who uses libintl-perl?
+THANKS                         Contributors
+Credits                                Same as THANKS
+TODO                           Missing
+gettext_xs/Makefile.PL         Makefile generator
+gettext_xs/gettext_xs.pm       XS loader
+gettext_xs/gettext_xs.xs       XS binding
+lib/Locale/Messages.pm         Gettext Like Message Retrieval
+lib/Locale/Recode.pm           Object−Oriented Portable Charset Conversion
+lib/Locale/Recode/_Aliases.pm
+lib/Locale/Recode/_Conversions.pm
+lib/Locale/RecodeData.pm
+lib/Locale/RecodeData/ASMO_449.pm
+lib/Locale/RecodeData/ATARI_ST.pm
+lib/Locale/RecodeData/ATARI_ST_EURO.pm
+lib/Locale/RecodeData/CP10007.pm
+lib/Locale/RecodeData/CP1250.pm
+lib/Locale/RecodeData/CP1251.pm
+lib/Locale/RecodeData/CP1252.pm
+lib/Locale/RecodeData/CP1253.pm
+lib/Locale/RecodeData/CP1254.pm
+lib/Locale/RecodeData/CP1256.pm
+lib/Locale/RecodeData/CP1257.pm
+lib/Locale/RecodeData/CSN_369103.pm
+lib/Locale/RecodeData/CWI.pm
+lib/Locale/RecodeData/DEC_MCS.pm
+lib/Locale/RecodeData/EBCDIC_AT_DE.pm
+lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm
+lib/Locale/RecodeData/EBCDIC_CA_FR.pm
+lib/Locale/RecodeData/EBCDIC_DK_NO.pm
+lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm
+lib/Locale/RecodeData/EBCDIC_ES.pm
+lib/Locale/RecodeData/EBCDIC_ES_A.pm
+lib/Locale/RecodeData/EBCDIC_ES_S.pm
+lib/Locale/RecodeData/EBCDIC_FI_SE.pm
+lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm
+lib/Locale/RecodeData/EBCDIC_FR.pm
+lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm
+lib/Locale/RecodeData/EBCDIC_IT.pm
+lib/Locale/RecodeData/EBCDIC_PT.pm
+lib/Locale/RecodeData/EBCDIC_UK.pm
+lib/Locale/RecodeData/EBCDIC_US.pm
+lib/Locale/RecodeData/ECMA_CYRILLIC.pm
+lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm
+lib/Locale/RecodeData/GEORGIAN_PS.pm
+lib/Locale/RecodeData/GOST_19768_74.pm
+lib/Locale/RecodeData/GREEK7.pm
+lib/Locale/RecodeData/GREEK7_OLD.pm
+lib/Locale/RecodeData/GREEK_CCITT.pm
+lib/Locale/RecodeData/HP_ROMAN8.pm
+lib/Locale/RecodeData/IBM037.pm
+lib/Locale/RecodeData/IBM038.pm
+lib/Locale/RecodeData/IBM1004.pm
+lib/Locale/RecodeData/IBM1026.pm
+lib/Locale/RecodeData/IBM1047.pm
+lib/Locale/RecodeData/IBM256.pm
+lib/Locale/RecodeData/IBM273.pm
+lib/Locale/RecodeData/IBM274.pm
+lib/Locale/RecodeData/IBM275.pm
+lib/Locale/RecodeData/IBM277.pm
+lib/Locale/RecodeData/IBM278.pm
+lib/Locale/RecodeData/IBM280.pm
+lib/Locale/RecodeData/IBM281.pm
+lib/Locale/RecodeData/IBM284.pm
+lib/Locale/RecodeData/IBM285.pm
+lib/Locale/RecodeData/IBM290.pm
+lib/Locale/RecodeData/IBM297.pm
+lib/Locale/RecodeData/IBM420.pm
+lib/Locale/RecodeData/IBM423.pm
+lib/Locale/RecodeData/IBM424.pm
+lib/Locale/RecodeData/IBM437.pm
+lib/Locale/RecodeData/IBM500.pm
+lib/Locale/RecodeData/IBM850.pm
+lib/Locale/RecodeData/IBM851.pm
+lib/Locale/RecodeData/IBM852.pm
+lib/Locale/RecodeData/IBM855.pm
+lib/Locale/RecodeData/IBM857.pm
+lib/Locale/RecodeData/IBM860.pm
+lib/Locale/RecodeData/IBM861.pm
+lib/Locale/RecodeData/IBM862.pm
+lib/Locale/RecodeData/IBM863.pm
+lib/Locale/RecodeData/IBM864.pm
+lib/Locale/RecodeData/IBM865.pm
+lib/Locale/RecodeData/IBM866.pm
+lib/Locale/RecodeData/IBM868.pm
+lib/Locale/RecodeData/IBM869.pm
+lib/Locale/RecodeData/IBM870.pm
+lib/Locale/RecodeData/IBM871.pm
+lib/Locale/RecodeData/IBM874.pm
+lib/Locale/RecodeData/IBM875.pm
+lib/Locale/RecodeData/IBM880.pm
+lib/Locale/RecodeData/IBM891.pm
+lib/Locale/RecodeData/IBM903.pm
+lib/Locale/RecodeData/IBM904.pm
+lib/Locale/RecodeData/IBM905.pm
+lib/Locale/RecodeData/IBM918.pm
+lib/Locale/RecodeData/IEC_P27_1.pm
+lib/Locale/RecodeData/INIS.pm
+lib/Locale/RecodeData/INIS_8.pm
+lib/Locale/RecodeData/INIS_CYRILLIC.pm
+lib/Locale/RecodeData/ISO_10367_BOX.pm
+lib/Locale/RecodeData/ISO_2033_1983.pm
+lib/Locale/RecodeData/ISO_5427.pm
+lib/Locale/RecodeData/ISO_5427_EXT.pm
+lib/Locale/RecodeData/ISO_5428.pm
+lib/Locale/RecodeData/ISO_8859_1.pm
+lib/Locale/RecodeData/ISO_8859_10.pm
+lib/Locale/RecodeData/ISO_8859_11.pm
+lib/Locale/RecodeData/ISO_8859_13.pm
+lib/Locale/RecodeData/ISO_8859_14.pm
+lib/Locale/RecodeData/ISO_8859_15.pm
+lib/Locale/RecodeData/ISO_8859_16.pm
+lib/Locale/RecodeData/ISO_8859_2.pm
+lib/Locale/RecodeData/ISO_8859_3.pm
+lib/Locale/RecodeData/ISO_8859_4.pm
+lib/Locale/RecodeData/ISO_8859_5.pm
+lib/Locale/RecodeData/ISO_8859_6.pm
+lib/Locale/RecodeData/ISO_8859_7.pm
+lib/Locale/RecodeData/ISO_8859_8.pm
+lib/Locale/RecodeData/ISO_8859_9.pm
+lib/Locale/RecodeData/KOI8_R.pm
+lib/Locale/RecodeData/KOI8_RU.pm
+lib/Locale/RecodeData/KOI8_T.pm
+lib/Locale/RecodeData/KOI8_U.pm
+lib/Locale/RecodeData/KOI_8.pm
+lib/Locale/RecodeData/LATIN_GREEK.pm
+lib/Locale/RecodeData/LATIN_GREEK_1.pm
+lib/Locale/RecodeData/MACARABIC.pm
+lib/Locale/RecodeData/MACCROATIAN.pm
+lib/Locale/RecodeData/MACCYRILLIC.pm
+lib/Locale/RecodeData/MACGREEK.pm
+lib/Locale/RecodeData/MACHEBREW.pm
+lib/Locale/RecodeData/MACICELAND.pm
+lib/Locale/RecodeData/MACINTOSH.pm
+lib/Locale/RecodeData/MACROMANIA.pm
+lib/Locale/RecodeData/MACTHAI.pm
+lib/Locale/RecodeData/MACTURKISH.pm
+lib/Locale/RecodeData/MACUKRAINE.pm
+lib/Locale/RecodeData/MAC_IS.pm
+lib/Locale/RecodeData/MAC_SAMI.pm
+lib/Locale/RecodeData/MAC_UK.pm
+lib/Locale/RecodeData/NATS_DANO.pm
+lib/Locale/RecodeData/NATS_SEFI.pm
+lib/Locale/RecodeData/NEXTSTEP.pm
+lib/Locale/RecodeData/SAMI_WS2.pm
+lib/Locale/RecodeData/TIS_620.pm
+lib/Locale/RecodeData/US_ASCII.pm
+lib/Locale/RecodeData/UTF_8.pm
+lib/Locale/RecodeData/VISCII.pm
+lib/Locale/RecodeData/_Encode.pm
+lib/Locale/TextDomain.pm
+lib/Locale/Util.pm                       Attention! Alpha code!
+lib/Locale/gettext_pp.pm
+lib/Locale/gettext_xs.pod
+lib/Locale/libintlFAQ.pod
+sample/README
+sample/simplecal/MANIFEST
+sample/simplecal/Makefile.PL
+sample/simplecal/README-NLS
+sample/simplecal/TRANSLATIONS
+sample/simplecal/bin/simplecal.pl
+sample/simplecal/lib/LocaleData/ar/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/ar_SA/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/de/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/de_AT/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/fr/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/ga/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/it/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/nl/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/pt/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/pt_BR/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/LocaleData/ru/LC_MESSAGES/org.imperia.simplecal.mo
+sample/simplecal/lib/SimpleCal.pm
+sample/simplecal/po/Makefile
+sample/simplecal/po/PACKAGE
+sample/simplecal/po/POTFILES.in
+sample/simplecal/po/ar.po
+sample/simplecal/po/ar_SA.po
+sample/simplecal/po/de.po
+sample/simplecal/po/de_AT.po
+sample/simplecal/po/fr.po
+sample/simplecal/po/ga.po
+sample/simplecal/po/it.po
+sample/simplecal/po/nl.po
+sample/simplecal/po/org.imperia.simplecal.pot
+sample/simplecal/po/pt.po
+sample/simplecal/po/pt_BR.po
+sample/simplecal/po/ru.po
+test.pl
+tests/00gettext.t
+tests/00recode.t
+tests/01trivial.t
+tests/02asmo_449.t
+tests/02atari-st-euro.t
+tests/02atari-st.t
+tests/02cp10007.t
+tests/02cp1250.t
+tests/02cp1251.t
+tests/02cp1252.t
+tests/02cp1253.t
+tests/02cp1254.t
+tests/02cp1256.t
+tests/02cp1257.t
+tests/02csn_369103.t
+tests/02cwi.t
+tests/02dec-mcs.t
+tests/02ebcdic-at-de-a.t
+tests/02ebcdic-at-de.t
+tests/02ebcdic-ca-fr.t
+tests/02ebcdic-dk-no-a.t
+tests/02ebcdic-dk-no.t
+tests/02ebcdic-es-a.t
+tests/02ebcdic-es-s.t
+tests/02ebcdic-es.t
+tests/02ebcdic-fi-se-a.t
+tests/02ebcdic-fi-se.t
+tests/02ebcdic-fr.t
+tests/02ebcdic-is-friss.t
+tests/02ebcdic-it.t
+tests/02ebcdic-pt.t
+tests/02ebcdic-uk.t
+tests/02ebcdic-us.t
+tests/02ecma-cyrillic.t
+tests/02georgian-academy.t
+tests/02georgian-ps.t
+tests/02gost_19768-74.t
+tests/02greek-ccitt.t
+tests/02greek7-old.t
+tests/02greek7.t
+tests/02hp-roman8.t
+tests/02ibm037.t
+tests/02ibm038.t
+tests/02ibm1004.t
+tests/02ibm1026.t
+tests/02ibm1047.t
+tests/02ibm256.t
+tests/02ibm273.t
+tests/02ibm274.t
+tests/02ibm275.t
+tests/02ibm277.t
+tests/02ibm278.t
+tests/02ibm280.t
+tests/02ibm281.t
+tests/02ibm284.t
+tests/02ibm285.t
+tests/02ibm290.t
+tests/02ibm297.t
+tests/02ibm420.t
+tests/02ibm423.t
+tests/02ibm424.t
+tests/02ibm437.t
+tests/02ibm500.t
+tests/02ibm850.t
+tests/02ibm851.t
+tests/02ibm852.t
+tests/02ibm855.t
+tests/02ibm857.t
+tests/02ibm860.t
+tests/02ibm861.t
+tests/02ibm862.t
+tests/02ibm863.t
+tests/02ibm864.t
+tests/02ibm865.t
+tests/02ibm866.t
+tests/02ibm868.t
+tests/02ibm869.t
+tests/02ibm870.t
+tests/02ibm871.t
+tests/02ibm874.t
+tests/02ibm875.t
+tests/02ibm880.t
+tests/02ibm891.t
+tests/02ibm903.t
+tests/02ibm904.t
+tests/02ibm905.t
+tests/02ibm918.t
+tests/02iec_p27-1.t
+tests/02inis-8.t
+tests/02inis-cyrillic.t
+tests/02inis.t
+tests/02iso-8859-1.t
+tests/02iso-8859-10.t
+tests/02iso-8859-11.t
+tests/02iso-8859-13.t
+tests/02iso-8859-14.t
+tests/02iso-8859-15.t
+tests/02iso-8859-16.t
+tests/02iso-8859-2.t
+tests/02iso-8859-3.t
+tests/02iso-8859-4.t
+tests/02iso-8859-5.t
+tests/02iso-8859-6.t
+tests/02iso-8859-7.t
+tests/02iso-8859-8.t
+tests/02iso-8859-9.t
+tests/02iso_10367-box.t
+tests/02iso_2033-1983.t
+tests/02iso_5427-ext.t
+tests/02iso_5427.t
+tests/02iso_5428.t
+tests/02koi-8.t
+tests/02koi8-r.t
+tests/02koi8-ru.t
+tests/02koi8-t.t
+tests/02koi8-u.t
+tests/02latin-greek-1.t
+tests/02latin-greek.t
+tests/02mac-is.t
+tests/02mac-sami.t
+tests/02mac-uk.t
+tests/02macarabic.t
+tests/02maccroatian.t
+tests/02maccyrillic.t
+tests/02macgreek.t
+tests/02machebrew.t
+tests/02maciceland.t
+tests/02macintosh.t
+tests/02macromania.t
+tests/02macthai.t
+tests/02macturkish.t
+tests/02macukraine.t
+tests/02nats-dano.t
+tests/02nats-sefi.t
+tests/02nextstep.t
+tests/02sami-ws2.t
+tests/02tis-620.t
+tests/02us-ascii.t
+tests/02utf-8.t
+tests/02viscii.t
+tests/03_tester_david_pp.t
+tests/03_tester_david_xs.t
+tests/03bind_textdomain_codeset_pp.t
+tests/03bind_textdomain_codeset_xs.t
+tests/03bind_textdomain_filter_pp.t
+tests/03bind_textdomain_filter_xs.t
+tests/03bindtextdomain_pp.t
+tests/03bindtextdomain_xs.t
+tests/03dcgettext_pp.t
+tests/03dcgettext_xs.t
+tests/03dcngettext_pp.t
+tests/03dcngettext_xs.t
+tests/03dcnpgettext_pp.t
+tests/03dcnpgettext_xs.t
+tests/03dcpgettext_pp.t
+tests/03dcpgettext_xs.t
+tests/03dgettext_pp.t
+tests/03dgettext_xs.t
+tests/03dngettext_pp.t
+tests/03dngettext_xs.t
+tests/03dnpgettext_pp.t
+tests/03dnpgettext_xs.t
+tests/03dpgettext_pp.t
+tests/03dpgettext_xs.t
+tests/03gettext_pp.t
+tests/03gettext_xs.t
+tests/03language_pp.t
+tests/03ngettext_pp.t
+tests/03ngettext_xs.t
+tests/03npgettext_pp.t
+tests/03npgettext_xs.t
+tests/03pgettext_pp.t
+tests/03pgettext_xs.t
+tests/03textdomain_pp.t
+tests/03textdomain_xs.t
+tests/04find_domain_bug.t
+tests/04scalar_noop.t
+tests/05parse_accept.t
+tests/LocaleData/de/LC_MESSAGES/additional.mo
+tests/LocaleData/de/LC_MESSAGES/existing.mo
+tests/LocaleData/de_AT/LC_MESSAGES/additional.mo
+tests/LocaleData/de_AT/LC_MESSAGES/existing.mo
+tests/po/Makefile
+tests/po/additional.de.po
+tests/po/additional.de_AT.po
+tests/po/existing.de.po
+tests/po/existing.de_AT.po
+META.yml                                Module meta-data (added by MakeMaker)

Index: maintain/lib/libintl-perl/META.yml
===================================================================
RCS file: maintain/lib/libintl-perl/META.yml
diff -N maintain/lib/libintl-perl/META.yml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/META.yml  12 Oct 2011 23:51:23 -0000      1.1
@@ -0,0 +1,11 @@
+# http://module-build.sourceforge.net/META-spec.html
+#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
+name:         libintl-perl
+version:      1.20
+version_from: lib/Locale/Messages.pm
+installdirs:  site
+requires:
+    File::Spec:                    0
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.30

Index: maintain/lib/libintl-perl/Makefile.PL
===================================================================
RCS file: maintain/lib/libintl-perl/Makefile.PL
diff -N maintain/lib/libintl-perl/Makefile.PL
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/Makefile.PL       12 Oct 2011 23:51:23 -0000      
1.1
@@ -0,0 +1,244 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# $Id: Makefile.PL,v 1.1 2011/10/12 23:51:23 pertusus Exp $
+
+# Makefile generator for libintl-perl.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, 
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.use ExtUtils::MakeMaker;
+
+use 5.004;
+use ExtUtils::MakeMaker;
+
+# Make standard channels unbuffered.
+select STDERR; $| = 1;
+select STDOUT; $| = 1; 
+
+# Now try to compile and link a simple test program that uses all
+# gettext facilities we need.  Failure of the test is not fatal
+# since the pure Perl implementation will provide the same functionality.
+# However, any help on making this test more portable would be
+# highly appreciated!
+
+use Config;
+
+my $c_code = <<'EOF';
+/* The following code only compiles if the interface to gettext is
+   complete.  */
+
+#include <libintl.h>
+/* Handle the case that we link against GNU libintl but include a non
+ * GNU libintl.h.  */
+#ifndef __USE_GNU_GETTEXT
+# error "<libintl.h> is not GNU gettext.  Maybe you have to adjust your 
include path."
+#endif
+
+#include <locale.h>
+
+int
+main (argc, argv)
+       int argc;
+    char* argv[];
+{
+       /* FIXME: The gettext runtime libraries provided by Solaris 8 and 9
+       are not sufficient.  Those of Solaris 10 *may* work.  To play
+       safe, we currently only compile the XS version for GNU gettext
+       and use some undocumented features, to test for that.  Thanks
+       to Bruno Haible for the hint.  */
+       extern int _nl_msg_cat_cntr;
+#if 0
+        /* This seems to be defined in the GNU libc only, not in standalone
+         * GNU gettext.  */
+        extern int* _nl_domain_bindings;
+#endif
+
+       textdomain ("dummy");
+       bindtextdomain ("dummy", ".");
+       bind_textdomain_codeset ("dummy", "us-ascii");
+
+       gettext ("msgid");
+       dgettext ("dummy", "msgid");
+       dcgettext ("dummy", "msgid", LC_MESSAGES);
+       ngettext ("msgid", "msgid_plural", 
+#if 0
+                 _nl_msg_cat_cntr + *_nl_domain_bindings); 
+#else
+                  _nl_msg_cat_cntr);
+#endif
+       dngettext ("dummy", "msgid", "msgid_plural", 1);
+       dcngettext ("dummy", "msgid", "msgid_plural", 1, LC_MESSAGES);
+
+       return 0;
+}
+EOF
+
+my $cc = $Config{cc};
+
+print STDERR "Checking whether we can compile the XS version ... ";
+local *HANDLE;
+open HANDLE, ">gettest.c" or die "cannot create file 'gettest.c': $!\n";
+print HANDLE $c_code;
+close HANDLE or die "cannot close file 'gettest.c': $!\n";
+
+my @cmd = $cc;
+push @cmd, $Config{ccflags};
+push @cmd, $Config{ldflags};
+push @cmd, $Config{perllibs};
+push @cmd, "-o", "gettest.exe", "gettest.c";
+
+my $cmd = join ' ', @cmd;
+
+# Temporarily redirect stdout and stderr.
+open OLDOUT, ">&STDOUT" or die "cannot dup STDOUT: $!";
+open OLDERR, ">&STDERR" or die "cannot dup STDERR: $!";
+open STDOUT, ">config.log" or die "cannot redirect STDOUT: $!";
+open STDERR, ">&STDOUT" or die "cannot dup STDOUT: $!";
+select STDERR; $| = 1;
+select STDOUT; $| = 1;
+
+print "$cmd\n";
+my $result = system $cmd;
+unless ($result == 0) {
+       $cmd .= " -lintl";
+       print "$cmd\n";
+       $result = system $cmd;
+}
+unless ($result == 0) {
+       $cmd .= " -liconv";
+       print "$cmd\n";
+       $result = system $cmd;
+}
+
+# Restore standard file descriptors.
+close STDOUT; #or die "cannot close STDOUT: $!";
+close STDERR; #or die "cannot close STDERR: $!";
+open STDOUT, ">&OLDOUT" or die "cannot dup \$oldout: $!";
+open STDERR, ">&OLDERR" or die "cannot dup OLDERR: $!";
+close OLDOUT; close OLDERR; # Shut up warnings.
+
+unless ($result == 0) {
+       print STDERR <<EOF;
+no
+=> Cannot build the XS version of libintl-perl (see 'config.log' for
+=> details).  This is harmless!
+EOF
+} else {
+       print STDERR <<EOF;
+ok
+=> Building the XS version of libintl-perl.
+EOF
+}
+unlink "gettest.c", "gettest.exe";
+
+package MY;
+
+# FIXME: This is really a hack! Problem: Depending on the build system,
+# we may or may not build and install the XS version.  If the XS version
+# is being built, the directory blib/arch will be populated, if it is
+# not being built, blib/arch will be empty.  Unfortunately, if blib/arch
+# is not empty, *all* library files will be installed in the architecture
+# dependent locations, if it is empty, they will be installed in the
+# architecture independent tree.
+#
+# Unfortunately, ExtUtils::MakeMaker does not take care of uninstalling
+# files from previous installations.  Consequently, we cannot determine
+# which version of the library will be loaded, since this depends on the
+# current value of @INC.
+#
+# The solution does not really make me happy.  The Makefile will be patched,
+# so that instead of ExtUtils::Install a custom module MyInstall.pm will
+# be used.  This custom module overwrites the subroutine that detects
+# whether a directory is empty in ExtUtils::Install, and will lie if that
+# directory happens to be "blib/arch".  This little hack effectively disables 
+# the annoying behavior of ExtUtils::Install (and I sincerely hope that
+# this is portable).
+sub libscan 
+{
+       my ($self, $file) = @_;
+
+       return if 'MyInstall.pm' eq $file;
+
+       $self->SUPER::libscan ($file);  
+}
+
+sub tools_other 
+{
+       my $self = shift;
+
+       my $fragment = $self->SUPER::tools_other (@_);
+
+       $fragment =~ s/^MOD_INSTALL\s*=\s*(.*?)-MExtUtils::Install
+               /MOD_INSTALL =$1-MMyInstall/msx;
+
+       return $fragment;
+}
+
+package main;
+
+my $name = $0;
+$name =~ s,Makefile\.PL$,xs_disabled,;
+local *HANDLE;
+open HANDLE, ">$name" or die "cannot open '$name' for writing: $!";
+print HANDLE $result;
+close HANDLE or die "cannot close '$name': $!";
+
+WriteMakefile (
+    NAME                   => 'libintl-perl',
+       VERSION_FROM    => 'lib/Locale/Messages.pm',
+    ($] >= 5.005 ?
+               (ABSTRACT       => 'High-Level Interface to Uniforum Message 
Translation',
+                AUTHOR         => 'Guido Flohr <address@hidden>',
+                ) : (),
+       ),
+       PREREQ_PM               => { File::Spec => 0 },
+       PL_FILES        => {},
+       DIR             => [$result == 0 ? ('gettext_xs') : ()],
+       clean                   => { FILES => 'xs_disabled build_xs' }
+       # If you want to build the XS version although the automatic detection
+       # suggests not to build it, uncomment the following line.
+       #DIR => [ ('gettext_xs') ],,
+);
+
+sub MY::postamble {
+        '
+all :: Credits ReleaseNotes
+
+# Make search.cpan.org happy but still follow GNU standards:
+# # (Thanks to Graham Barr for the hint)
+Credits: THANKS
+       cat THANKS >$@
+
+ReleaseNotes: NEWS
+       cat NEWS >$@
+'
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/MyInstall.pm
===================================================================
RCS file: maintain/lib/libintl-perl/MyInstall.pm
diff -N maintain/lib/libintl-perl/MyInstall.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/MyInstall.pm      12 Oct 2011 23:51:24 -0000      
1.1
@@ -0,0 +1,43 @@
+package MyInstall;
+
+use ExtUtils::Install;
+use File::Find;
+
+use vars qw (@ISA @EXPORT @EXPORT_OK);
+
address@hidden = @ExtUtils::Install::ISA;
address@hidden = @ExtUtils::Install::EXPORT;
address@hidden = @ExtUtils::Install::EXPORT_OK;
+
+sub ExtUtils::Install::directory_not_empty ($) {
+       my($dir) = @_;
+
+       return 0 if $dir eq 'blib/arch';
+
+       my $files = 0;
+       find(sub {
+               return if $_ eq ".exists";
+               if (-f) {
+                       $File::Find::prune++;
+                       $files = 1;
+               }
+               }, $dir);
+       return $files;
+}
+
+sub AUTOLOAD
+{
+        print STDERR "AUTOLOAD: $AUTOLOAD\n";
+                                                                               
 
+        my $name = 'func';
+        my $code;
+        my $string = "\$code = \\&ExtUtils::Install::$name";
+                                                                               
 
+        eval $string;
+        *$AUTOLOAD = $code;
+                                                                               
 
+        goto &$AUTOLOAD;
+}
+
+1;
+

Index: maintain/lib/libintl-perl/NEWS
===================================================================
RCS file: maintain/lib/libintl-perl/NEWS
diff -N maintain/lib/libintl-perl/NEWS
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/NEWS      12 Oct 2011 23:51:24 -0000      1.1
@@ -0,0 +1,127 @@
+Version 1.20 - 29 Jue 2009
+
+* Test suite revamped.  Failures are now explained better, and it should
+  be easier to debug them remotely.
+
+Version 1.19 - 19 Jun 2009
+
+* New context functions now work with Perl 5.6.2.
+
+* N__() now mirrors its argument in scalar context for convenience.
+
+Version 1.18 - 26 May 2009
+
+* Cosmetic change: The version number is now both in Locale::Messages
+  and in Locale::TextDomain to work around a shortcoming of the
+  PAUSE indexer.
+
+Version 1.17 - 25 May 2009
+
+* New context support, supporting .po files with msgctxt, and 
+  appropriate supporting calls (*pgettext calls) under both
+  gettext_pp and gettext_xs. TextDomain.pm received corresponding
+  calls: __p __px __np __npx __xnp.
+
+* New module Locale::Util with some utility functions, especially for
+  web development.  Attention, this is still alpha code!
+
+* Try to warn about wrong usage of the tied hashes in
+  Locale::TextDomain.
+
+* Minor bugfixes
+
+Version 1.16 - 28 Sep 2005
+
+* New function Locale::Messages::bind_textdomain_filter() allows you 
+  to register an output filter as a callback.  You can use this
+  feature for example to set the utf-8 flag on translated string when
+  you are sure that the output is actually utf-8.
+
+* New function Locale::Messages::turn_utf_8_on().
+
+* various minor bug fixes.
+
+Version 1.15 - 1 Sep 2005
+
+* Workarounds and bugfixes for misconfigured Solaris systems
+
+* Fixed the completely broken simplecal example
+
+* Added section about non-ascii msgids to the POD of Locale::Messages
+
+Version 1.14 - 11 Aug 2005
+
+* Oops: forgot to update the version check in Locale::Messages
+
+* The XS version builds easier on *BSD systems now
+
+Version 1.12 - 11 Aug 2005
+
+* Minor bugfixes
+
+* The test scripts now check whether the needed locales are installed
+
+Version 1.11 - 11 Jun 2004
+
+* Version 1.11 is a minor bugfix release
+
+Version 1.10 - 12 Jan 2004
+
+* XS version now compiles under Windows (GNU gettext and libiconv required,
+  build with "perl Makefile.PL DIR=gettext_xs", see README.win32 for details)
+
+Version 1.09 - 29 Dec 2003
+
+* check version match with XS module
+
+* in pure Perl version, use user supplied locale name when guessing
+  the output character set
+
+* corrections for Atari character maps
+
+Version 1.08 - 30 Nov 2003
+
+* fixed bug #4512 on https://rt.cpan.org/ (reported by unknown guest)
+
+Version 1.07 - 28 Nov 2003
+
+* bug with charset detection via I18N::Langinfo fixed
+
+* new function Locale::Messages::turn_utf_8_off()
+
+Version 1.06 - 24 Nov 2003
+
+* fixed warning/error under Solaris 8 when I18N::Langinfo is not available
+
+* simplified sample packaging
+
+Version 1.05 - 10 Oct 2003
+
+* fixed compatibility problems with gettext libraries under Solaris 8
+  and higher
+
+Version 1.04 - 09 Oct 2003
+
+* support for language chains in $LANGUAGE (e. g. "fr_BE:fr:de")
+
+* performance tweaks for Locale::gettext_pp
+
+* do not clobber $@ in Locale::gettext_pp
+
+Version 1.03 - 15 Sep 2003
+
+* alternative XS implemenation of gettext() and friends (outperforms
+  pure Perl version by factor 10-15)
+
+Version 1.02 - 04 Sep 2003
+
+* bugfixes for systems that lack both /usr/share/locale and
+  /usr/local/share/locale
+
+* compatibility tweaks for Perl 5.005
+
+Version 1.01 - 19 Aug 2003
+
+* bugfixes
+
+* compatibility tweaks for MS-DOS

Index: maintain/lib/libintl-perl/README
===================================================================
RCS file: maintain/lib/libintl-perl/README
diff -N maintain/lib/libintl-perl/README
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/README    12 Oct 2011 23:51:24 -0000      1.1
@@ -0,0 +1,274 @@
+README for libintl-perl
+=======================
+
+$Id: README,v 1.1 2011/10/12 23:51:24 pertusus Exp $
+
+The package libintl-perl is an internationalization library for Perl
+that aims to be compatible with the Uniforum message translations
+system as implemented for example in GNU gettext.
+
+    [NOTE for distributors: This file and the complete subdirectory
+    "sample" of this release should be installed along with the library
+    itself in the according documentation section!]
+
+See the file COPYING.LESSER and the source code for licensing.
+
+More extensive information may be available at the libintl-perl homepage
+on the internet http://guido-flohr.net/projects/libintl-perl.
+
+Requirements
+------------
+
+The library is entirely written in Perl.  It should run on every
+system with a Perl5 interpreter.  The minimum required Perl version
+should be 5.004.
+
+The behavior of the package varies a little depending on the Perl
+version:
+
+- Perl 5.8 or better
+
+Recommended.  Perl 5.8 offers maximum performance and support for
+various multi-byte encodings (even more if Encode::Han is installed).
+Additionally the output charset is chosen automatically according to
+the information provided by I18N::Langinfo.  In fact, I18N::Langinfo
+is already available for Perl 5.7 but this developer version is
+probably not much in use any more.
+
+- Perl 5.6 or better
+
+Still offers high-performance UTF-8 handling but no support for other
+multi-byte encodings unless the package Encode is installed.
+
+- Earlier Perl versions
+
+Full UTF-8 support but quiet slow since all conversion routines are
+written in Perl.  More exactly: Encoding from 8 bit charsets into
+UTF-8 is reasonably fast and usable.  Decoding UTF-8 is slow, however.
+
+Note that these are actually the requirements for the *users* of your
+software internationalized with libintl-perl.
+
+As a maintainer of a Perl package that uses libintl-perl, you will
+also need a recent version of GNU gettext (see the file README in the
+subdirectory "sample/" of the source distribution of libintl-perl).
+Translators of your software can basically do their job with any text
+editor, but it usually makes sense for them, too, to have GNU gettext
+installed.  End users of your software, or people that install an
+internationalized Perl package do *not* need it, unless they want to
+add a new language to your software.
+
+Installation
+------------
+
+If libintl-perl is not installed on your system, you have to build it
+from the sources, which is a lot easier than you may think.  You need 
+the program "make" for that and a command line shell.  No C compiler is 
+required.
+
+Unpack the package in a directory of your choice, cd into that
+directory and then type
+
+     perl Makefile.PL
+     make
+         
+This will build the package.  You can then run the tests with
+
+     make test
+
+To install the package, type
+
+     make install
+
+You will probably need root permissions to do that.
+
+Of course, you can also use the CPAN module to install the package.
+
+Feedback
+--------
+
+Send negative (and positive!) feedback to me.  Bug reports can be send 
+directly to me or you can use the bugtracking system at http://rt.cpan.org/.
+
+If you use libintl-perl for your project, private or public, free or
+commercial, please let me know.  I am interested in such information.
+
+If you really like (or dislike?) libintl-perl, tell the world about.  You
+can rate it and even write a review at http://cpanratings.perl.org/
+(search for "libintl-perl").  You can also increase the popularity index of
+libintl-perl at freshmeat.net by visiting its project page at
+http://freshmeat.net/projects/libintl-perl, by subscribing to new
+releases from the project page, or by rating it. 
+
+Design Goals
+------------
+
+The primary design goal of libintl-perl is maximum compatibility with
+the gettext functions available for other programming languages.  It
+is intended that programmers, translators, and end users can fully
+benefit from all existing i18n tools like xgettext for message
+extraction, msgfmt, msgmerge, etc. for catalog manipulation, Emacs PO
+mode (or KBabel, PO-Edit, ...) for catalog editing and so on.
+
+Another design goal is maximum portability.  The library should be
+functional without any additional software but with a wide range of
+Perl versions.  Wherever possible, hooks have been inserted to benefit
+from advanced features in the runtime environment, but the basic
+functionality should be present everywhere.
+
+Overview
+--------
+
+The core of the library is the module Locale::gettext_pp.  It is a
+pure Perl re-implementation of the module Locale::gettext available on
+CPAN.  However, the XS version Locale::gettext lacks some functions
+(notably plural handling and output conversion) that are already
+present in Locale::gettext_pp.  Locale::gettext_pp provides the
+internationalization functions that are available in your system
+library (libc) or additional C libraries (for example libintl in the
+case of GNU gettext).
+
+The class Locale::Messages is an additional abstraction layer that is
+prepared for dynamic switching between different gettext implementations (for
+example Locale::gettext_pp and Locale::gettext).  It provides
+basically the same interface as Locale::gettext_pp but in an
+implementation-independent manner.
+
+The module Locale::TextDomain is the only module that you should
+actually use in your software.  It represents the message translation
+system for a particular text domain (a text domain is a unique
+identifier for your software package), makes use of Locale::Messages
+for message translation and catalog location, and it provides
+additional utility functions, for example common shortcut names for
+i18n routines, tied hashes for hash-like lookups into the translation
+database, and finally an interpolation mechanism suitable for
+internationalized messages.
+
+The package also contains a charset conversion library
+Locale::Recode.  This library is used internally by Locale::gettext_pp
+to allow on-the-fly charset conversion between the charset in a
+message catalog and the preferred (end) user charset.  Its main
+advantage about the Encode package available for recent Perl versions
+is its portability, since it does not require the Unicode capabilities
+of Perl that were introduced with Perl 5.6.  It fully supports UTF-8
+with every Perl version and a wealth of common 8 bit encodings.  If
+you have to do charset conversion with older Perl versions, then
+Locale::Recode may be worth a try although it is really only a helper
+library, not intended as a competitor to Encode.
+
+Documentation
+-------------
+
+For a basic understanding of message translation in Perl with
+libintl-perl you should read the perldoc of Locale::TextDomain.  Don't
+bother about the documentation of the other modules in the library,
+you will not need it unless you want to hack the library yourself.
+
+There is a mailing list <libintl-perl AT imperia DOT net> (replace 
+" AT " with "@" and " DOT " with ".") where you can post questions
+related to libintl-perl.  The list has also a certain focus on
+internationalization of Perl CGI web applications.  Please note, that
+postings from non-subscribers will be held back for approval, and it
+may take a considerable amount of time until all list members will get
+these postings.  You can subscribe to the list via a web interface at
+http://ml.imperia.org/mailman/listinfo/libintl-perl/, a searchable
+archive of prior postings to the list is available at
+http://ml.imperia.org/libintl-perl/.
+
+At the time of this writing (July 2003) the list is new and has
+exactly one subscriber and zero postings.  But don't be shy, join
+it. ;-)
+
+In order to make use of the software, you will also need various tools
+from GNU gettext (http://savannah.gnu.org/projects/gettext/).  The
+documentation is located at http://www.gnu.org/manual/gettext/.
+You will find there a language-independent overview of 
+internationalization with GNU gettext, and in the Perl-specific
+sections you will find details about the parser that extracts
+translatable messages from your Perl sources. 
+
+Quick-Start
+-----------
+
+The subdirectory "sample" of the source distribution of libintl-perl
+contains a full-fledged example for an internationalized Perl package,
+including a working Makefile.  The README of that subdirectory
+explains all necessary steps.
+
+However, if you are on a recent GNU/Linux system or similar (cygwin
+should also do), chances are that you can get the following example to
+run:
+
+       #! /usr/local/bin/perl -w
+
+       use strict;
+
+       # This assumes that the textdomain 'libc' is available on your
+       # system.  Try "locate libc.mo" or "locate libc.gmo" (or
+       # "find / -type f -name libc.mo" if locate is not available on
+       # your system).
+       #
+       # By the way, the "use Locale::TextDomain (TEXTDOMAIN) is the 
+       # equivalent of
+       #
+       #      textdomain ("TEXTDOMAIN");
+       #
+       # in C or similar languages.
+       use Locale::TextDomain ('libc');
+
+       # The locale category LC_MESSAGES is not exported by the POSIX
+       # module on older Perl versions.  
+       use Locale::Messages qw (LC_MESSAGES);
+
+       use POSIX ('setlocale');
+
+       # Set the locale according to our environment.
+       setlocale (LC_MESSAGES, '');
+
+       # This makes the assumption that your system libc defines a 
+       # message "No such file or directory".  Check the exact
+       # spelling on your system with something like 
+       # "ls NON-EXISTANT".
+       # Note the double underscore in front of the string.  This is
+       # really a function call to the function __() that is
+       # automagically imported by Locale::TextDomain into your
+       # namespace.  This function takes its argument, looks up a
+       # translation for it, and returns that, or the unmodified
+       # string in case of failure.
+       print __"No such file or directory", ".\n";
+
+       __END__
+
+Now run the command "locale -a" or "nlsinfo" to get a list of
+available locales on your system.  Try the section "Finding locales"
+in "perldoc perllocale" if you have problems.
+
+If, for example, the locale "fr_FR" is available on your system, set
+the environment variable LANG to that value, for a POSIX shell
+
+     LANG=fr_FR
+     export LANG
+
+for the C shell
+
+     setenv LANG fr_FR
+
+and run your little Perl script.  It should tell you what the error
+message for "No such file or directory" is in French, or whatever
+language you chose.  Not a real example, because we have "stolen" a
+message from a system catalog.  But it should give you the general
+idea, especially if you are already familiar with gettext in C.
+
+If you still see the English message, this does not necessarily mean a
+failure, since the string is maybe not translated on your system (try
+"locate libc.mo" to get a list of available translations).  Even for
+the translations listed there, that particular message might be
+missing.  Try a common locale like "de_DE" or "fr_FR" that are usually
+fully translated then.
+
+Your next steps should be "perldoc Locale::TextDomain", and then study
+the example in the subdirectory "sample" of this distribution.
+
+Have fun with libintl-perl!
+
+Guido Flohr

Index: maintain/lib/libintl-perl/README-oldversions
===================================================================
RCS file: maintain/lib/libintl-perl/README-oldversions
diff -N maintain/lib/libintl-perl/README-oldversions
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/README-oldversions        12 Oct 2011 23:51:24 
-0000      1.1
@@ -0,0 +1,10 @@
+Hi,
+
+old versions of my modules can be found here:
+
+       http://history.perl.org/backpan/authors/id/G/GU/GUIDO/
+
+This is an effort to keep CPAN and its mirrors clean.
+
+Regards,
+Guido

Index: maintain/lib/libintl-perl/README.solaris
===================================================================
RCS file: maintain/lib/libintl-perl/README.solaris
diff -N maintain/lib/libintl-perl/README.solaris
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/README.solaris    12 Oct 2011 23:51:24 -0000      
1.1
@@ -0,0 +1,125 @@
+Special Notes for Sun Solaris
+=============================
+
+Recent versions of Solaris ship with a libintl that is mostly compatible
+with GNU gettext.  Even the plural handling functions (ngettext, 
+dngettext, dcngettext, ...) and output character conversion functions
+(bind_textdomain_codeset) are included. 
+
+On my test system, the behavior of the Solaris version differs in one
+important point from the pure Perl version or the GNU gettext version:
+In a locale environment that is a regional variant of another locale
+(for example "fr_CA" is a regional variant of "fr"), both the pure Perl 
+version from libintl-perl and the C version from GNU gettext will fall
+back to translations for the superordinate message catalog ("fr") if
+no special translation for the selected locale ("fr_CA") can be found.
+This fallback mechanism is missing in the Solaris implementation.
+
+This could be considered harmless, because Solaris users are probably
+used to this behavior.  On the other hand, the pure Perl version of
+gettext in libintl-perl aims to be as compatible as possible to the
+GNU gettext implementation.  Furthermore, if the pure Perl and the 
+C/XS version behave differently, users may be unnecessarily confused.
+
+If you think you can live with that little inconsistence, you are not
+completely lost: Edit the toplevel Makefile.PL, in the function
+WriteMakefile(), change the value for the hash slot "DIR" from 
+the value depending on "$result" to simply "['gettext_xs']".  If you
+have a look at the source code of Makefile.PL, you will see that this
+has already been prepared.
+
+If you do this, the test suite will fail, because the above described
+behavior ("fr_CA" vs. "fr" ...) is checked by the tests.  In this case,
+expect the following failures:
+
+Failed Test                    Stat Wstat Total Fail  Failed  List of Failed
+-------------------------------------------------------------------------------
+./tests/03bind_textdomain_codeset_xs.t        9    2  22.22%  5 9
+./tests/03dcgettext_xs.t                      9    2  22.22%  3 7
+./tests/03dcngettext_xs.t                    83   51  61.45%  22-31 43-83
+./tests/03dgettext_xs.t                       9    2  22.22%  3 7
+./tests/03dngettext_xs.t                     83   51  61.45%  22-31 43-83
+./tests/03gettext_xs.t                        6    1  16.67%  3
+./tests/03ngettext_xs.t                      85   51  60.00%  23-32 45-85
+
+But even if you have installed GNU gettext, you may run into this error
+when trying to compile the XS version:
+
+"gettext_xs.xs", line 32: #error: "<libintl.h> is not GNU gettext.  Maybe you 
have to adjust your include path."
+cc: acomp failed for gettext_xs.c
+make[1]: *** [gettext_xs.o] Error 2
+make[1]: Leaving directory `/root/libintl-perl-1.15/gettext_xs'
+make: *** [subdirs] Error 2
+
+What has happened here?  Have a look at the source code of <libintl.h>
+that ships with GNU gettext:
+
+/* We define an additional symbol to signal that we use the GNU
+   implementation of gettext.  */
+#define __USE_GNU_GETTEXT 1
+
+...
+
+/* We redirect the functions to those prefixed with "libintl_".  This is
+   necessary, because some systems define gettext/textdomain/... in the C
+   library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
+   If we used the unprefixed names, there would be cases where the
+   definition in the C library would override the one in the libintl.so
+   shared library.  Recall that on ELF systems, the symbols are looked
+   up in the following order:
+     1. in the executable,
+     2. in the shared libraries specified on the link command line, in order,
+     3. in the dependencies of the shared libraries specified on the link
+        command line,
+     4. in the dlopen()ed shared libraries, in the order in which they were
+        dlopen()ed.
+   The definition in the C library would override the one in libintl.so if
+   either
+     * -lc is given on the link command line and -lintl isn't, or
+     * -lc is given on the link command line before -lintl, or
+     * libintl.so is a dependency of a dlopen()ed shared library but not
+       linked to the executable at link time.
+   Since Solaris gettext() behaves differently than GNU gettext(), this
+   would be unacceptable.
+
+   The redirection happens by default through macros in C, so that &gettext
+   is independent of the compilation unit, but through inline functions in
+   C++, in order not to interfere with the name mangling of class fields or
+   class methods called 'gettext'.  */
+
+In brief: The GNU libraries libintl.so and libintl.a prefix all functions
+with "libintl_" in order to avoid symbol name conflicts with the vanilla
+Solaris verssion.  These precautions still give room to a popular
+misconfiguration: If you install GNU gettext with the default prefix
+"/usr/local", libraries will get installed in "/usr/local/lib", the
+header files - notably <libintl.h> - will get installed in 
+"/usr/local/include", so far so good.  Now set the environment variable
+LD_LIBRARY_PATH to "/usr/local/lib", so that the GNU version of libintl.so
+will be found by the dynamic loader at runtime.  Yet, if 
+"/usr/local/include" comes after "/usr/include" in your C compiler's
+include path, the above described trick does not work, the functions
+like "gettext", "dgettext" etc. will not get re-defined to "libintl_gettext",
+"libintl_dgettext" and so on.  Remember, the preprocessor trick used by
+GNU gettext will change every reference to the function gettext() into
+a reference to libintl_gettext() for gettext() into a definition for 
+libintl_gettext().  If your C compiler includes the "wrong" include file 
+(/usr/include/libintl.h) instead of the "correct" one 
+(/usr/local/include/libintl.h), your C sources will still reference
+gettext() instead of libintl_gettext().  At run-time, even if the dynamic
+loader considers the GNU version of libintl.so (in "/usr/local/lib"), it
+will not use it, because it looks for the "wrong" symbol gettext() 
+instead of libintl_gettext().
+
+Too complicated? Okay: The order for C header files for the C compiler
+(actually the preprocessor) differs from the inclusion order for 
+libraries and this must lead to trouble.  If you understand WHY, you
+will find a way to fix it.  If not, ignore the problem: Do not 
+build the problem, and be assured, that the pure Perl version is 
+fast enough.  It is very, very unlikely that using the pure Perl
+instead of the XS version of will be the bottleneck of any application
+you use.
+
+Life is complicated under the sun, ain't it? ;-)
+
+Guido
+

Index: maintain/lib/libintl-perl/README.win32
===================================================================
RCS file: maintain/lib/libintl-perl/README.win32
diff -N maintain/lib/libintl-perl/README.win32
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/README.win32      12 Oct 2011 23:51:24 -0000      
1.1
@@ -0,0 +1,110 @@
+When building libintl-perl under 32 bit versions of MS-DOS, you have several
+options, depending on the facilities available on your system, and on the Perl
+version you use.
+
+Cygwin Perl
+===========
+
+When using the Perl interpreter that ships with cygwin, you are in a pretty
+Unix-like environment, and you should be able to build and use libintl-perl
+like on ordinary operating system.
+
+ActiveState Perl
+================
+
+By default, the XS version of libintl-perl is not built.  You will not win
+a lot, by trying to build the XS version, but if you can't help, here are
+the instructions that worked on my system.  Your mileage may vary, however.
+
+C Compiler
+----------
+
+Windows does not ship with a C compiler.  Since ActiveState Perl is built
+with Microsoft Visual C, you probably will not have a choice, and have to
+purchase MSVC.
+
+Building libiconv and GNU gettext
+---------------------------------
+
+The XS version of libintl-perl requires the runtime facilities provided by
+GNU gettext, which in turn rely on libiconv.  You can both in source form
+from ftp://ftp.gnu.org/pub/gnu.
+
+First, unpack both the libiconv and gettext sources in a directory of your
+choice, open the MS-DOS cripple shell ("cmd.exe"), and cd into the directory
+where you have unpacked the libiconv sources.  There read the file 
+"README.woe32" or just type
+
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 NO_NLS=1
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 NO_NLS=1 check
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 NO_NLS=1 install
+
+The second command line will run the test suite (you may omit this step).
+
+Now cd to the directory where you have unpacked the gettext sources, and
+read "README.woe32", or just type
+
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 check
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 install
+    
+You should now go back into the libiconv build directory, and re-build
+the package again with native language support:
+
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 NO_NLS=1 distclean
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 check
+    nmake -f Makefile.msvc MFLAGS=-MD DLL=1 install
+
+You should now have the gettext and libiconv DLLs installed in "\usr\bin",
+and libraries in "\usr\lib".  It should be theoretically possible to build
+static versions (instead of DLLs) of both gettext and libiconv, but I
+did not manage to do so here.
+
+Build libintl-perl
+------------------
+
+The Makefile.PL provided with libintl-perl normally autodetects the presence
+of the required gettext shared libraries, but this test (intentionally) fails
+under Windows.  You have to bypass the mechanism by saying
+
+    perl Makefile.PL DIR=gettext_xs
+    
+This should produce an output like this:
+
+    Checking whether we can compile the XS version ... no
+    => Cannot build the XS version of libintl-perl (see 'config.log' for
+    => details).  This is harmless!
+    Writing Makefile Locale::gettext_xs
+    Writing Makefile for libintl-perl
+
+Ignore the warning, that the XS version cannot be built.  It will be
+built anyhow.
+
+Now do the usual:
+
+    nmake
+    nmake test
+    nmake install
+    
+Please run the testsuite!  If it fails, and you cannot sort out the reason,
+re-build the module without the XS version.
+
+Distribution
+------------
+
+If you want a binary version of libintl-perl, you either have to bundle it
+with the DLLs and libraries for GNU gettext and libiconv, or you have to
+build and link against static versions of the two libraries (which I didn't
+manage to do).  In any case, please take care that your distribution does
+not violate the licenses under which GNU gettext, libiconv, and libintl-perl
+are provided! Please read the following statement by Bruno Haible,
+maintainer of GNU gettext and libiconv:
+
+  Note that DLLs created with MSVC 7.0 cannot be distributed: They depend
+  on a closed-source library 'msvcr70.dll' which is not normally part of a
+  Woe32 installation, therefore the distribution of such DLLs - with or
+  without msvcr70.dll - would be a violation of the LGPL. This problem does
+  not occur with MSVC 6.0 and earlier.
+
+Guido Flohr <address@hidden>

Index: maintain/lib/libintl-perl/REFERENCES
===================================================================
RCS file: maintain/lib/libintl-perl/REFERENCES
diff -N maintain/lib/libintl-perl/REFERENCES
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/REFERENCES        12 Oct 2011 23:51:24 -0000      
1.1
@@ -0,0 +1,48 @@
+- the dvd::rip project
+  http://www.exit1.org/dvdrip/
+
+- the Sympa mailing list manager
+  http://www.sympa.org/
+
+- the public key infrastructure (PKI) OpenCA
+  http://www.openca.org/
+
+- the Lire log file analysis tool
+  http://www.logreport.org/
+
+- the GPG key-signing utility gpgsigs
+  http://www.palfrader.org/gpgsigs
+
+- (the build script for) the TortoiseCVS CVS frontend
+  http://www.tortoisecvs.org/
+
+- the pure Perl implementation of the Twofish algorithm
+  http://search.cpan.org/~guido/Crypt-Twofish_PP/
+
+- the Imperia enterprise content management system
+  http://www.imperia.net/
+
+- the Imperia mailing list archive
+  http://ml.imperia.org/
+
+- the pimp Photo Importer
+  http://www.grawert.net/software/pimp/
+
+- midcat, concatenate MIDI files to stdout
+  http://ptaff.ca/midcat/?lang=en_CA
+
+- Luci is the University of New Brunswick, Canada's enterprise website 
+  accessibility solution and requires libintl-perl via Crypt::Twofish_PP
+  http://luci.sourceforge.net/
+
+- gwine, the Gnome wine cellar management tool
+  http://home.gna.org/gwine/
+
+- gtestrunner (Test-Unit-GTestRunner), a unit test GUI
+  http://search.cpan.org/~guido/Test-Unit-GTestRunner/
+
+- hdico, search a definition in the Hachette dictionary
+  http://svn.naquadah.org/listing.php?repname=hdico&path=%2F&rev=0&sc=0
+
+- IWL, a GUI toolkit for html
+  http://search.cpan.org/~viktork/IWL/

Index: maintain/lib/libintl-perl/ReleaseNotes
===================================================================
RCS file: maintain/lib/libintl-perl/ReleaseNotes
diff -N maintain/lib/libintl-perl/ReleaseNotes
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/ReleaseNotes      12 Oct 2011 23:51:25 -0000      
1.1
@@ -0,0 +1,127 @@
+Version 1.20 - 29 Jue 2009
+
+* Test suite revamped.  Failures are now explained better, and it should
+  be easier to debug them remotely.
+
+Version 1.19 - 19 Jun 2009
+
+* New context functions now work with Perl 5.6.2.
+
+* N__() now mirrors its argument in scalar context for convenience.
+
+Version 1.18 - 26 May 2009
+
+* Cosmetic change: The version number is now both in Locale::Messages
+  and in Locale::TextDomain to work around a shortcoming of the
+  PAUSE indexer.
+
+Version 1.17 - 25 May 2009
+
+* New context support, supporting .po files with msgctxt, and 
+  appropriate supporting calls (*pgettext calls) under both
+  gettext_pp and gettext_xs. TextDomain.pm received corresponding
+  calls: __p __px __np __npx __xnp.
+
+* New module Locale::Util with some utility functions, especially for
+  web development.  Attention, this is still alpha code!
+
+* Try to warn about wrong usage of the tied hashes in
+  Locale::TextDomain.
+
+* Minor bugfixes
+
+Version 1.16 - 28 Sep 2005
+
+* New function Locale::Messages::bind_textdomain_filter() allows you 
+  to register an output filter as a callback.  You can use this
+  feature for example to set the utf-8 flag on translated string when
+  you are sure that the output is actually utf-8.
+
+* New function Locale::Messages::turn_utf_8_on().
+
+* various minor bug fixes.
+
+Version 1.15 - 1 Sep 2005
+
+* Workarounds and bugfixes for misconfigured Solaris systems
+
+* Fixed the completely broken simplecal example
+
+* Added section about non-ascii msgids to the POD of Locale::Messages
+
+Version 1.14 - 11 Aug 2005
+
+* Oops: forgot to update the version check in Locale::Messages
+
+* The XS version builds easier on *BSD systems now
+
+Version 1.12 - 11 Aug 2005
+
+* Minor bugfixes
+
+* The test scripts now check whether the needed locales are installed
+
+Version 1.11 - 11 Jun 2004
+
+* Version 1.11 is a minor bugfix release
+
+Version 1.10 - 12 Jan 2004
+
+* XS version now compiles under Windows (GNU gettext and libiconv required,
+  build with "perl Makefile.PL DIR=gettext_xs", see README.win32 for details)
+
+Version 1.09 - 29 Dec 2003
+
+* check version match with XS module
+
+* in pure Perl version, use user supplied locale name when guessing
+  the output character set
+
+* corrections for Atari character maps
+
+Version 1.08 - 30 Nov 2003
+
+* fixed bug #4512 on https://rt.cpan.org/ (reported by unknown guest)
+
+Version 1.07 - 28 Nov 2003
+
+* bug with charset detection via I18N::Langinfo fixed
+
+* new function Locale::Messages::turn_utf_8_off()
+
+Version 1.06 - 24 Nov 2003
+
+* fixed warning/error under Solaris 8 when I18N::Langinfo is not available
+
+* simplified sample packaging
+
+Version 1.05 - 10 Oct 2003
+
+* fixed compatibility problems with gettext libraries under Solaris 8
+  and higher
+
+Version 1.04 - 09 Oct 2003
+
+* support for language chains in $LANGUAGE (e. g. "fr_BE:fr:de")
+
+* performance tweaks for Locale::gettext_pp
+
+* do not clobber $@ in Locale::gettext_pp
+
+Version 1.03 - 15 Sep 2003
+
+* alternative XS implemenation of gettext() and friends (outperforms
+  pure Perl version by factor 10-15)
+
+Version 1.02 - 04 Sep 2003
+
+* bugfixes for systems that lack both /usr/share/locale and
+  /usr/local/share/locale
+
+* compatibility tweaks for Perl 5.005
+
+Version 1.01 - 19 Aug 2003
+
+* bugfixes
+
+* compatibility tweaks for MS-DOS

Index: maintain/lib/libintl-perl/THANKS
===================================================================
RCS file: maintain/lib/libintl-perl/THANKS
diff -N maintain/lib/libintl-perl/THANKS
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/THANKS    12 Oct 2011 23:51:25 -0000      1.1
@@ -0,0 +1,40 @@
+$Id: THANKS,v 1.1 2011/10/12 23:51:25 pertusus Exp $
+
+These people have helped in the development of libintl-perl:
+
+- Imperia (http://www.imperia.net/) has contributed this part of the 
+  Enterprise Content Management System Imperia to the Perl community
+  as free software. 
+
+- Joshua Miller <address@hidden> has extended libintl-perl to provide
+  the important context-sensitive functions (pgettext() and friends).
+
+- Christian Lackas <address@hidden> has given various hints on 
+  performance optimizations
+
+- Ingrid Gräfen <address@hidden> has fixed a major performance
+  penalty on systems without POSIX::LC_MESSAGES, and she has extensively
+  tested the Perl backend for GNU xgettext under cygwin 
+
+- Norma Karl <address@hidden> has thoroughly revised the documentation for
+  the Perl backend to GNU xgettext, and she deserves a credit anyway
+
+- Bruno Haible for libiconv which was the base for many conversions and
+  for integrating my Perl backend into GNU gettext
+
+Other people have helped by sending in improvements, suggestions and
+bug reports:
+
+- DH <address@hidden>
+- Jo-Even Skarstein <address@hidden>
+- Gerhard Stoll <address@hidden>
+- Marc Brockschmidt <address@hidden>
+- Laurent Bonnaud <address@hidden>
+- Jan Kratochvil <address@hidden>
+- Светослав Агафонкин <address@hidden>
+- Michael Bell <address@hidden>
+- David Cantrell <address@hidden>
+
+Please inform me if I have forgotten your contribution.
+
+Guido Flohr

Index: maintain/lib/libintl-perl/TODO
===================================================================
RCS file: maintain/lib/libintl-perl/TODO
diff -N maintain/lib/libintl-perl/TODO
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/TODO      12 Oct 2011 23:51:25 -0000      1.1
@@ -0,0 +1,24 @@
+- Use LGPL version 3?
+
+- web_set_locale returns the language and the country for lang/country
+  combinations (eg. de-AT) in the language field.  Correct?
+
+- add conversion modules for other Unicode encodings than UTF-8 
+  (UTF-16, UCS-*)
+
+- Better support for Windows, the locale detection stuff does not
+  really work there.  Any help would be appreciated.
+
+- Check whether other locale categories than LC_MESSAGES work.
+
+- Avoid call to __load_domain in Locale::gettext_pp, use a cache table
+  first
+
+- The pure Perl version of gettext will always look for message catalogs
+  in /usr/share/locale/{LANGUAGE}/LC_MESSAGES after the directory
+  specified by bindtextdomain().  This can lead to undesired results.
+  But I think the C version from libintl does the same, correct?
+
+- Allow to dynamically expand the list of supported conversions
+
+- Allow to dynamically restrict the list of suppported conversions

Index: maintain/lib/libintl-perl/test.pl
===================================================================
RCS file: maintain/lib/libintl-perl/test.pl
diff -N maintain/lib/libintl-perl/test.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/test.pl   12 Oct 2011 23:51:25 -0000      1.1
@@ -0,0 +1,127 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# $Id: test.pl,v 1.1 2011/10/12 23:51:25 pertusus Exp $
+
+# Portable character conversion for Perl.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+# This is a safe wrapper for systems that lack a POSIX shell or have
+# a too low limit on the length of the command line.
+
+use strict;
+use File::Basename;
+use Test::Harness;
+use File::Spec;
+
+sub test_harness;
+
+my $here = dirname ($0);
+my $test_dir = $here . '/tests';
+my @lib_dirs = ($here . '/blib/lib', $here . '/blib/arch');
+local *DIR;
+opendir DIR, $test_dir or die "cannot open test directory '$test_dir': $!";
address@hidden = sort map $test_dir . '/' . $_, grep /\.t$/, readdir DIR;
+closedir DIR;
+
+eval {
+       require Encode;
+};
+
+unless ($@) {
+    print "# Encode revision used is $Encode::VERSION.\n";
+}
+
+test_harness ($ENV{TEST_HARNESS} || 0, @lib_dirs);
+
+sub test_harness
+{
+    $Test::Harness::verbose = shift;
+       
+    local @INC = @INC;
+    unshift @INC, map { File::Spec->rel2abs($_) } @_;
+       my $name = $0;
+       $name =~ s,test\.pl$,xs_disabled,;
+       local *HANDLE;
+       open HANDLE, "<$name" or die "cannot open '$name': $!";
+       my $xs_disabled = <HANDLE>;
+       close HANDLE;
+       unless ($xs_disabled) {
+               # It is pointless to test the XS extension, if no German
+               # locales are installed on the system.  The results
+               # vary in almost arbitrary ways.
+               # FIXME: Do not rely on the de, resp. de_AT locales only.
+               #        We can simply try other combinations (fr_CA,
+               #        en_GB, pt_BR, and so on), since the actual
+               #        translations are not meaningful in our case.
+               #        We could therefore just test here for certain
+               #        combinations, and then create the mo files on
+               #        the fly by copying.
+               require POSIX;
+               require Locale::Messages;
+               Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+               Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+               Locale::Messages::nl_putenv ("LANG=de_AT");
+               Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+               Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+               my $has_de_locale = POSIX::setlocale (POSIX::LC_ALL() => '');
+               unless ($has_de_locale) {
+                       require Locale::Util;
+
+                       $has_de_locale = 
+                               Locale::Util::set_locale (POSIX::LC_ALL(), 
+                                                         'de');
+                       undef $has_de_locale
+                               unless ($has_de_locale 
+                                       && $has_de_locale =~ /(?:germany|de)/i);
+               }
+               unless ($has_de_locale) {
+                       $xs_disabled = 1;
+                       print <<EOF;
+The XS version of libintl-perl cannot be tested on your system because
+the locale definitions for German do not exist.
+EOF
+               }
+               $xs_disabled = !$has_de_locale;
+       }
+
+       if ($xs_disabled) {
+               Test::Harness::runtests (grep { ! /_xs.t$/ } sort 
+                       {lc $a cmp lc $b } @ARGV);
+       } else {
+               Test::Harness::runtests (sort {lc $a cmp lc $b } @ARGV);
+       }
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/gettext_xs/Makefile.PL
===================================================================
RCS file: maintain/lib/libintl-perl/gettext_xs/Makefile.PL
diff -N maintain/lib/libintl-perl/gettext_xs/Makefile.PL
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/gettext_xs/Makefile.PL    12 Oct 2011 23:51:25 
-0000      1.1
@@ -0,0 +1,57 @@
+#! /usr/local/bin/perl -w # -*- perl -*-
+
+# vim: tabstop=4
+# $Id: Makefile.PL,v 1.1 2011/10/12 23:51:25 pertusus Exp $
+
+# Makefile generator for libintl-perl.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, 
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.use ExtUtils::MakeMaker;
+
+use 5.004;
+use ExtUtils::MakeMaker;
+
+#$ExtUtils::MakeMaker::Verbose = 2;
address@hidden::MakeMaker::Parent = ();
+
+WriteMakefile (
+    NAME                   => 'Locale::gettext_xs',
+    VERSION_FROM       => '../lib/Locale/Messages.pm',
+    ($] >= 5.005 ?
+               (ABSTRACT       => 'XS Interface to Uniforum Message 
Translation',
+                AUTHOR         => 'Guido Flohr <address@hidden>',
+    ) : (),
+    ),
+    PREREQ_PM => { File::Spec => 0 },
+       PL_FILES        => {},
+       LIBS => ['-lintl -liconv'],
+);
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/gettext_xs/gettext_xs.pm
===================================================================
RCS file: maintain/lib/libintl-perl/gettext_xs/gettext_xs.pm
diff -N maintain/lib/libintl-perl/gettext_xs/gettext_xs.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/gettext_xs/gettext_xs.pm  12 Oct 2011 23:51:26 
-0000      1.1
@@ -0,0 +1,201 @@
+#! /bin/false
+
+# vim: tabstop=4
+# $Id: gettext_xs.pm,v 1.1 2011/10/12 23:51:26 pertusus Exp $
+
+# Pure Perl implementation of Uniforum message translation.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+
+package Locale::gettext_xs;
+
+require DynaLoader;
+require Exporter;
+
+use vars qw (%EXPORT_TAGS @EXPORT_OK @ISA);
+
+%EXPORT_TAGS = (locale_h => [ qw (
+                                                                 gettext
+                                                                 dgettext
+                                                                 dcgettext
+                                                                 ngettext
+                                                                 dngettext
+                                                                 dcngettext
+                                                                 pgettext
+                                                                 dpgettext
+                                                                 dcpgettext
+                                                                 npgettext
+                                                                 dnpgettext
+                                                                 dcnpgettext
+                                                                 textdomain
+                                                                 bindtextdomain
+                                                                 
bind_textdomain_codeset
+                                                                 )
+                                                         ],
+                               libintl_h => [ qw (LC_CTYPE
+                                                                  LC_NUMERIC
+                                                                  LC_TIME
+                                                                  LC_COLLATE
+                                                                  LC_MONETARY
+                                                                  LC_MESSAGES
+                                                                  LC_ALL)
+                                                          ],
+                               );
+
address@hidden = qw (gettext
+                                dgettext
+                                dcgettext
+                                ngettext
+                                dngettext
+                                dcngettext
+                 pgettext
+                 dpgettext
+                 dcpgettext
+                 npgettext
+                 dnpgettext
+                 dcnpgettext
+                                textdomain
+                                bindtextdomain
+                                bind_textdomain_codeset
+                                 nl_putenv
+                                LC_CTYPE
+                                LC_NUMERIC
+                                LC_TIME
+                                LC_COLLATE
+                                LC_MONETARY
+                                LC_MESSAGES
+                                LC_ALL);
address@hidden = qw (Exporter DynaLoader);
+
+bootstrap Locale::gettext_xs;
+
+require File::Spec;
+
+# Reimplement pgettext functions
+sub pgettext ($$) {
+       my ($msgctxt, $msgid) = @_;
+
+       my $msg_ctxt_id = join("\004", $msgctxt, $msgid);
+       return Locale::gettext_xs::_pgettext_aux
+               ("", $msg_ctxt_id, $msgid, Locale::gettext_xs::LC_MESSAGES());
+}
+sub dpgettext ($$$) {
+       my ($domain, $msgctxt, $msgid) = @_;
+
+       my $msg_ctxt_id = join("\004", $msgctxt, $msgid);
+       return Locale::gettext_xs::_pgettext_aux
+               ($domain, $msg_ctxt_id, $msgid, 
Locale::gettext_xs::LC_MESSAGES());
+}
+sub dcpgettext ($$$$) {
+       my ($domain, $msgctxt, $msgid, $category) = @_;
+
+       my $msg_ctxt_id = join("\004", $msgctxt, $msgid);
+       return Locale::gettext_xs::_pgettext_aux
+               ($domain, $msg_ctxt_id, $msgid, $category);
+}
+
+# Reimplement npgettext functions
+sub npgettext ($$$$) {
+       my ($msgctxt, $msgid1, $msgid2, $n) = @_;
+
+       my $msg_ctxt_id = join("\004", $msgctxt, $msgid1);
+       return Locale::gettext_xs::_npgettext_aux
+               ("", $msg_ctxt_id, $msgid1, $msgid2, $n, 
Locale::gettext_xs::LC_MESSAGES());
+}
+sub dnpgettext ($$$$$) {
+       my ($domain, $msgctxt, $msgid1, $msgid2, $n) = @_;
+
+       my $msg_ctxt_id = join("\004", $msgctxt, $msgid1);
+       return Locale::gettext_xs::_npgettext_aux
+               ($domain, $msg_ctxt_id, $msgid1, $msgid2, $n, 
Locale::gettext_xs::LC_MESSAGES());
+}
+sub dcnpgettext ($$$$$$) {
+       my ($domain, $msgctxt, $msgid1, $msgid2, $n, $category) = @_;
+
+       my $msg_ctxt_id = join("\004", $msgctxt, $msgid1);
+       return Locale::gettext_xs::_npgettext_aux
+               ($domain, $msg_ctxt_id, $msgid1, $msgid2, $n, $category);
+}
+
+# Wrapper function that converts Perl paths to OS paths.
+sub bindtextdomain ($;$) {
+       my ($domain, $directory) = @_;
+
+       if (defined $domain && length $domain && 
+               defined $directory && length $directory) {
+               return Locale::gettext_xs::_bindtextdomain 
+                       ($domain, File::Spec->catdir ($directory));
+       } else {
+               return &Locale::gettext_xs::_bindtextdomain;
+       }
+}
+
+# In the XS version, making the prototype optional, does not work.
+sub textdomain (;$) {
+       my $domain = shift;
+
+       if (defined $domain) {
+               return Locale::gettext_xs::_textdomain ($domain);
+       } else {
+               return Locale::gettext_xs::_textdomain ("");
+       }
+}
+
+sub nl_putenv ($) {
+    my ($envspec) = @_;
+    
+    return unless defined $envspec;
+    return unless length $envspec;
+    return if substr ($envspec, 0, 1) eq '=';
+    
+    my ($var, $value) = split /=/, $envspec, 2;
+    
+    if ($^O eq 'MSWin32') {
+        $value = '' unless defined $value;
+        return unless Locale::gettext_xs::_nl_putenv ("$var=$value") == 0;
+        if (length $value) {
+            $ENV{$var} = $value;
+        } else {
+            delete $ENV{$var};
+        }
+    } else {
+        if (defined $value) {
+            $ENV{$var} = $value;
+        } else {
+            delete $ENV{$var};
+        }
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/gettext_xs/gettext_xs.xs
===================================================================
RCS file: maintain/lib/libintl-perl/gettext_xs/gettext_xs.xs
diff -N maintain/lib/libintl-perl/gettext_xs/gettext_xs.xs
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/gettext_xs/gettext_xs.xs  12 Oct 2011 23:51:26 
-0000      1.1
@@ -0,0 +1,281 @@
+/* -*- C -*- */
+/* $Id: gettext_xs.xs,v 1.1 2011/10/12 23:51:26 pertusus Exp $ */
+/*
+# Perl binding for Uniforum message translation.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.  */
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#include <string.h>
+#include <locale.h>
+#include <libintl.h>
+/* Handle the case that we link against GNU libintl but include a non
+ * GNU libintl.h.  */
+#ifndef __USE_GNU_GETTEXT
+# error "<libintl.h> is not GNU gettext.  Maybe you have to adjust your 
include path."
+#endif
+
+MODULE = Locale::gettext_xs    PACKAGE = Locale::gettext_xs
+
+PROTOTYPES: ENABLE
+
+char*
+__gettext_xs_version ()
+     CODE:
+         RETVAL = (VERSION);
+     OUTPUT:
+         RETVAL
+ 
+double
+LC_CTYPE ()
+     CODE:
+          RETVAL = (double) LC_CTYPE;
+     OUTPUT:
+          RETVAL
+
+double
+LC_NUMERIC ()
+     CODE:
+          RETVAL = (double) LC_NUMERIC;
+     OUTPUT:
+          RETVAL
+
+double
+LC_TIME ()
+     CODE:
+          RETVAL = (double) LC_TIME;
+     OUTPUT:
+          RETVAL
+
+double
+LC_COLLATE ()
+     CODE:
+          RETVAL = (double) LC_COLLATE;
+     OUTPUT:
+          RETVAL
+
+double
+LC_MONETARY ()
+     CODE:
+          RETVAL = (double) LC_MONETARY;
+     OUTPUT:
+          RETVAL
+
+double
+LC_MESSAGES ()
+     CODE:
+          RETVAL = (double) LC_MESSAGES;
+     OUTPUT:
+          RETVAL
+
+double
+LC_ALL ()
+     CODE:
+          RETVAL = (double) LC_ALL;
+     OUTPUT:
+          RETVAL
+
+char*
+gettext (msgid)
+     char* msgid
+     PROTOTYPE: $
+     CODE:
+         RETVAL = (char*) gettext (msgid);
+     OUTPUT:
+         RETVAL
+
+char*
+dgettext (domainname, msgid)
+       char* domainname
+       char* msgid
+    PROTOTYPE: $$
+    CODE:
+       RETVAL = (char*) dgettext (domainname, msgid);
+    OUTPUT:
+       RETVAL
+
+char* 
+dcgettext (domainname, msgid, category)
+       char* domainname
+       char* msgid
+       int category
+    PROTOTYPE: $$$
+    CODE:
+       RETVAL = (char*) dcgettext (domainname, msgid, category);
+    OUTPUT:
+       RETVAL
+
+char*
+ngettext (msgid1, msgid2, n)
+       char* msgid1
+       char* msgid2
+       unsigned long n
+    PROTOTYPE: $$$
+    CODE:
+       RETVAL = (char*) ngettext (msgid1, msgid2, n);
+    OUTPUT:
+       RETVAL
+
+char*
+dngettext (domainname, msgid1, msgid2, n)
+       char* domainname
+       char* msgid1
+       char* msgid2
+       unsigned long n
+    PROTOTYPE: $$$$
+    CODE:
+       RETVAL = (char*) dngettext (domainname, msgid1, msgid2, n);
+    OUTPUT:
+       RETVAL
+
+char*
+dcngettext (domainname, msgid1, msgid2, n, category)
+       char* domainname
+       char* msgid1
+       char* msgid2
+       unsigned long n
+       int category
+    PROTOTYPE: $$$$$
+    CODE:
+       RETVAL = (char*) dcngettext (domainname, msgid1, msgid2, n, category);
+    OUTPUT:
+       RETVAL
+
+char*
+_pgettext_aux (domain, msg_ctxt_id, msgid, category)
+    char* domain
+    char* msg_ctxt_id
+    char* msgid
+    int category
+    PROTOTYPE: $$$$
+    PREINIT:
+    char* translation;
+    CODE:
+    /* Treat empty or undefined strings as NULL. */
+    if (!domain || domain[0] == '\000')
+        domain = NULL;
+    /* Treat -1 as null, and default to LC_MESSAGES */
+    if (category == -1)
+        category = LC_MESSAGES;
+    /* reimplemented from gettext-0.17 */
+    translation = (char*) dcgettext (domain, msg_ctxt_id, category);
+    if (translation == msg_ctxt_id)
+        RETVAL = msgid;
+    else
+        RETVAL = translation;
+    OUTPUT:
+    RETVAL
+
+char*
+_npgettext_aux (domain, msg_ctxt_id, msgid1, msgid2, n, category)
+    char* domain
+    char* msg_ctxt_id
+    char* msgid1
+    char* msgid2
+       unsigned long n
+    int category
+    PROTOTYPE: $$$$$$
+    PREINIT:
+    char* translation;
+    CODE:
+    /* Treat empty or undefined strings as NULL. */
+    if (!domain || domain[0] == '\000')
+        domain = NULL;
+    /* Treat -1 as null, and default to LC_MESSAGES */
+    if (category == -1)
+        category = LC_MESSAGES;
+    translation = (char*) dcngettext (domain, msg_ctxt_id, msgid2, n, 
category);
+    if (translation == msg_ctxt_id || translation == msgid2)
+        RETVAL = (n == 1 ? msgid1 : msgid2);
+    else
+        RETVAL = translation;
+    OUTPUT:
+    RETVAL
+
+# FIXME: The prototype should actually be ';$' but it doesn't work
+# as expected.  Passing no argument results in an error. 
+char*
+_textdomain (domain)
+       char* domain
+    PROTOTYPE: $
+    CODE:
+       /* Treat empty or undefined strings as NULL.  */
+       if (!domain || domain[0] == '\000')
+               domain = NULL;
+       RETVAL = (char*) textdomain (domain);
+       if (!RETVAL || RETVAL[0] == '\000') {
+               XSRETURN_UNDEF;
+       }
+    OUTPUT:
+       RETVAL
+
+# This function is a no-op except for MS-DOS with its completely 
+# brain-damaged environment interface.
+int
+_nl_putenv (str)
+        char* str
+    PROTOTYPE: $
+    CODE:
+#if defined (WIN32)
+        RETVAL = _putenv (str);
+#else
+        RETVAL = 0;
+#endif
+    OUTPUT:
+        RETVAL
+        
+char*
+_bindtextdomain (domain = NULL, dirname = NULL)
+       char* domain
+       char* dirname
+    PROTOTYPE: $;$
+    CODE:
+       /* Treat empty or undefined strings as NULL.  */
+       if (!domain || domain[0] == '\000')
+               domain = NULL;
+       if (!dirname || dirname[0] == '\000')
+               dirname = NULL;
+       RETVAL = (char*) bindtextdomain (domain, dirname);
+       if (!RETVAL || RETVAL[0] == '\000') {
+               XSRETURN_UNDEF;
+       }
+
+    OUTPUT:
+       RETVAL
+
+
+char*
+bind_textdomain_codeset (domainname, codeset)
+       char* domainname
+       char* codeset
+    PROTOTYPE: $;$
+    CODE:
+       /* Treat empty or undefined strings as NULL.  */
+       if (!domainname || domainname[0] == '\000')
+               domainname = NULL;
+       if (!codeset || codeset[0] == '\000')
+               codeset = NULL;
+       RETVAL = (char*) bind_textdomain_codeset (domainname, codeset);
+       if (!RETVAL || RETVAL[0] == '\000') {
+               XSRETURN_UNDEF;
+       }
+
+    OUTPUT:
+       RETVAL

Index: maintain/lib/libintl-perl/lib/Locale/Messages.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/Messages.pm
diff -N maintain/lib/libintl-perl/lib/Locale/Messages.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/Messages.pm    12 Oct 2011 23:51:26 
-0000      1.1
@@ -0,0 +1,1027 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: Messages.pm,v 1.1 2011/10/12 23:51:26 pertusus Exp $
+
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::Messages;
+
+use strict;
+
+use vars qw ($package @EXPORT_OK %EXPORT_TAGS @ISA $VERSION);
+
+$VERSION = '1.20';
+
+# Try to load the C version first.
+$package = 'gettext_xs';
+my $can_xs = 1;
+eval <<'EOF';
+require Locale::gettext_xs; 
+my $version = Locale::gettext_xs::__gettext_xs_version();
+die "Version: $version mismatch (1.20 vs. $version)" unless $version eq '1.20';
+EOF
+if ($@) {
+    $package = 'gettext_pp';
+       undef $can_xs;
+    require Locale::gettext_pp;
+}
+               
+require Exporter;
address@hidden = qw (Exporter);
+%EXPORT_TAGS = (locale_h => [ qw (gettext
+                                 dgettext
+                                 dcgettext
+                                 ngettext
+                                 dngettext
+                                 dcngettext
+                                 pgettext
+                                 dpgettext
+                                 dcpgettext
+                                 npgettext
+                                 dnpgettext
+                                 dcnpgettext
+                                 textdomain
+                                 bindtextdomain
+                                 bind_textdomain_codeset
+                                 )
+                              ],
+                libintl_h => [ qw (LC_CTYPE
+                                   LC_NUMERIC
+                                   LC_TIME
+                                   LC_COLLATE
+                                   LC_MONETARY
+                                   LC_MESSAGES
+                                   LC_ALL)
+                               ],
+                );
+
address@hidden = qw (select_package
+                                turn_utf_8_on
+                                turn_utf_8_off
+                                gettext
+                                dgettext
+                                dcgettext
+                                ngettext
+                                dngettext
+                                dcngettext
+                                pgettext
+                                dpgettext
+                                dcpgettext
+                                npgettext
+                                dnpgettext
+                                dcnpgettext
+                                textdomain
+                                bindtextdomain
+                                bind_textdomain_codeset
+                                bind_textdomain_filter
+                 nl_putenv
+                                LC_CTYPE
+                                LC_NUMERIC
+                                LC_TIME
+                                LC_COLLATE
+                                LC_MONETARY
+                                LC_MESSAGES
+                                LC_ALL);
+
+BEGIN {
+       my ($has_encode, $has_bytes);
+       
+       if ($] >= 5.006) {
+               unless (defined $has_encode) {
+                       eval "require Encode";
+                       $has_encode = !$@;
+               }
+
+               unless ($has_encode || defined $has_bytes) {
+                       eval "use bytes";
+                       $has_bytes = !$@;
+               }
+       }
+
+       # Turn the UTF-8 flag on or off unconditionally.  The prototypes
+       # allow an optional second parameter, so that you can use the
+       # functions as callbacks to bind_textdomain_filter.
+       if ($has_encode) {
+               eval <<'EOF';
+sub turn_utf_8_on($;$)
+{
+       Encode::_utf8_on ($_[0]);
+       return $_[0];
+}
+
+sub turn_utf_8_off($;$)
+{
+       Encode::_utf8_off ($_[0]);
+       return $_[0];
+}
+
+EOF
+       } elsif ($has_bytes) {
+               eval <<'EOF';
+sub turn_utf_8_on($;$)
+{
+       $_[0] = pack "U0C*", unpack "C*", $_[0];
+}
+
+sub turn_utf_8_off($;$)
+{
+       use bytes;
+       $_[0] = join "", split //, $_[0];
+}
+
+EOF
+       } else {
+               eval <<'EOF';
+sub turn_utf_8_on($;$)
+{
+       return $_[0];
+}
+
+sub turn_utf_8_off($;$)
+{
+       return $_[0];
+}
+
+EOF
+       }
+}
+
+# The textdomain could be undef.  We avoid a warning by specifying
+# a filter for the undefined textdomain.
+my %filters = (
+                          undef => \&turn_utf_8_off,
+                          );
+
+sub select_package
+{
+       my ($pkg, $compatibility) = @_;
+
+       # Compatibility quirk for a bug pre 1.17:
+       if (__PACKAGE__ eq $pkg && defined $compatibility) {
+               $pkg = $compatibility;
+       }
+
+       if (!$can_xs || (defined $pkg && 'gettext_pp' eq $pkg)) {
+               require Locale::gettext_pp;
+               $package = 'gettext_pp';
+       } else {
+               eval "require Locale::gettext_xs";
+               $package = 'gettext_xs' unless $@;
+       }
+
+    return $package;
+}
+
+sub bind_textdomain_filter($;$$)
+{
+       my ($textdomain, $coderef, $data) = @_;
+
+       $filters{$textdomain} = [ $coderef, $data ];
+
+       return 1;
+}
+
+sub textdomain(;$)
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::textdomain :
+       &Locale::gettext_pp::textdomain;
+}
+
+sub bindtextdomain($;$)
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::bindtextdomain :
+       &Locale::gettext_pp::bindtextdomain;
+}
+
+sub bind_textdomain_codeset($;$)
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::bind_textdomain_codeset :
+       &Locale::gettext_pp::bind_textdomain_codeset;
+}
+
+sub gettext($)
+{
+       my $textdomain = textdomain;
+       $filters{$textdomain} ||= [ \&turn_utf_8_off ];
+       my $cb = $filters{$textdomain};
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::gettext :
+                    &Locale::gettext_pp::gettext, $cb->[1]);
+}
+
+sub dgettext($$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dgettext :
+                    &Locale::gettext_pp::dgettext, $cb->[1]);
+}
+
+sub dcgettext($$$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dcgettext :
+                    &Locale::gettext_pp::dcgettext, $cb->[1]);
+}
+
+sub ngettext($$$)
+{
+       my $textdomain = textdomain;
+       $filters{$textdomain} ||= [ \&turn_utf_8_off ];
+       my $cb = $filters{$textdomain};
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::ngettext :
+                    &Locale::gettext_pp::ngettext, $cb->[1]);
+}
+
+sub dngettext($$$$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dngettext :
+                    &Locale::gettext_pp::dngettext, $cb->[1]);
+}
+
+sub dcngettext($$$$$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dcngettext :
+                    &Locale::gettext_pp::dcngettext, $cb->[1]);
+}
+
+###
+sub pgettext($$)
+{
+       my $textdomain = textdomain;
+       $filters{$textdomain} ||= [ \&turn_utf_8_off ];
+       my $cb = $filters{$textdomain};
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::pgettext :
+                    &Locale::gettext_pp::pgettext, $cb->[1]);
+}
+
+sub dpgettext($$$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dpgettext :
+                    &Locale::gettext_pp::dpgettext, $cb->[1]);
+}
+
+sub dcpgettext($$$$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dcpgettext :
+                    &Locale::gettext_pp::dcpgettext, $cb->[1]);
+}
+
+sub npgettext($$$$)
+{
+       my $textdomain = textdomain;
+       $filters{$textdomain} ||= [ \&turn_utf_8_off ];
+       my $cb = $filters{$textdomain};
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::npgettext :
+                    &Locale::gettext_pp::npgettext, $cb->[1]);
+}
+
+sub dnpgettext($$$$$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dnpgettext :
+                    &Locale::gettext_pp::dnpgettext, $cb->[1]);
+}
+
+sub dcnpgettext($$$$$$)
+{
+       my $cb = $filters{$_[0]} ||= [ \&turn_utf_8_off ];
+
+    $cb->[0] ('gettext_xs' eq $package ?
+                    &Locale::gettext_xs::dcnpgettext :
+                    &Locale::gettext_pp::dcnpgettext, $cb->[1]);
+}
+
+sub nl_putenv($)
+{
+    'gettext_xs' eq $package ?
+                    &Locale::gettext_xs::nl_putenv :
+                    &Locale::gettext_pp::nl_putenv;
+}
+
+sub LC_NUMERIC
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::LC_NUMERIC :
+       &Locale::gettext_pp::LC_NUMERIC;
+}
+
+sub LC_CTYPE
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::LC_CTYPE :
+       &Locale::gettext_pp::LC_CTYPE;
+}
+
+sub LC_TIME
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::LC_TIME :
+       &Locale::gettext_pp::LC_TIME;
+}
+
+sub LC_COLLATE
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::LC_COLLATE :
+       &Locale::gettext_pp::LC_COLLATE;
+}
+
+sub LC_MONETARY
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::LC_MONETARY :
+       &Locale::gettext_pp::LC_MONETARY;
+}
+
+sub LC_MESSAGES
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::LC_MESSAGES :
+       &Locale::gettext_pp::LC_MESSAGES;
+}
+
+sub LC_ALL
+{
+    'gettext_xs' eq $package ?
+       &Locale::gettext_xs::LC_ALL :
+       &Locale::gettext_pp::LC_ALL;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::Messages - Gettext Like Message Retrieval
+
+=head1 SYNOPSIS
+
+ use Locale::Messages (:locale_h :libintl_h);
+
+ gettext $msgid;
+ dgettext $textdomain, $msgid;
+ dcgettext $textdomain, $msgid, LC_MESSAGES;
+ ngettext $msgid, $msgid_plural, $count;
+ dngettext $textdomain, $msgid, $msgid_plural, $count;
+ dcngettext $textdomain, $msgid, $msgid_plural, $count, LC_MESSAGES;
+ pgettext $msgctxt, $msgid;
+ dpgettext $textdomain, $msgctxt, $msgid;
+ dcpgettext $textdomain, $msgctxt, $msgid, LC_MESSAGES;
+ npgettext $msgctxt, $msgid, $msgid_plural, $count;
+ dnpgettext $textdomain, $msgctxt, $msgid, $msgid_plural, $count;
+ dcnpgettext $textdomain, $msgctxt, $msgid, $msgid_plural, $count, LC_MESSAGES;
+ textdomain $textdomain;
+ bindtextdomain $textdomain, $directory;
+ bind_textdomain_codeset $textdomain, $encoding;
+ bind_textdomain_filter $textdomain, \&filter, $data;
+ turn_utf_8_on ($variable);
+ turn_utf_8_off ($variable);
+ nl_putenv ('OUTPUT_CHARSET=koi8-r');
+ my $category = LC_CTYPE;
+ my $category = LC_NUMERIC;
+ my $category = LC_TIME;
+ my $category = LC_COLLATE;
+ my $category = LC_MONETARY;
+ my $category = LC_MESSAGES;
+ my $category = LC_ALL;
+
+=head1 DESCRIPTION
+
+The module B<Locale::Messages> is a wrapper around the interface to
+message translation according to the Uniforum approach that is
+for example used in GNU gettext and Sun's Solaris.  It is intended
+to allow Locale::Messages(3) to switch between different implementations
+of the lower level libraries but this is not yet implemented.
+
+Normally you should not use this module directly, but the high
+level interface Locale::TextDomain(3) that provides a much simpler
+interface.  This description is therefore deliberately kept
+brief.  Please refer to the GNU gettext documentation available at
+L<http://www.gnu.org/manual/gettext/> for in-depth and background 
+information on the topic.
+
+The lower level module Locale::gettext_pp(3) provides the Perl
+implementation of gettext() and related functions.
+
+=head1 FUNCTIONS
+
+The module exports by default nothing.  Every function has to be
+imported explicitely or via an export tag (L</"EXPORT TAGS">).
+
+=over 4
+
+=item B<gettext MSGID>
+
+Returns the translation for B<MSGID>.  Example:
+
+    print gettext "Hello World!\n";
+
+If no translation can be found, the unmodified B<MSGID> is returned,
+i. e. the function can I<never> fail, and will I<never> mess up your
+original message.
+
+Note for Perl 5.6 and later: The returned string will I<always> have
+the UTF-8 flag off by default.  See the documentation for function
+bind_textdomain_filter() for a way to change this behavior.
+
+One common mistake is this:
+
+    print gettext "Hello $name!";
+
+Perl will interpolate the variable C<$name> I<before> the function
+will see the string.  Unless the corresponding message catalog 
+contains a message "Hello Tom!", "Hello Dick!" or "Hello Harry!",
+no translation will be found.
+
+Using printf() and friends has its own problems:
+
+    print sprintf (gettext ("This is the %s %s."), $color, $thing);
+
+(The example is stupid because neither color nor thing will get
+translated here ...).
+
+In English the adjective (the color) will precede the noun, many
+other languages (for example French or Italian) differ here.  The 
+translator of the message may therefore have a hard time to find
+a translation that will still work and not sound stupid in the 
+target language.  Many C implementations of printf() allow to 
+change the order of the arguments, and a French translator could
+then say:
+
+    "C'est le %$2s %$1s."
+
+Perl printf() implements this feature as of version 5.8 or better.
+Consequently you can only use it, if you are sure that your software
+will run with Perl 5.8 or a later version.
+
+Another disadvantage of using printf() is its cryptic syntax (maybe
+not for you but translators of your software may have their own
+opinion).
+
+See the description of the function C<__x()> in Locale::TextDomain(3)
+for a much better way to get around this problem.
+
+Non-ASCII message ids ...
+
+You should note that the function (and all other similar functions
+in this module) does a bytewise comparison of the B<MSGID> for the
+lookup in the translation catalog, no matter whether obscure utf-8
+flags are set on it, whether the string looks like utf-8, whether
+the utf8(3pm) pragma is used, or whatever other weird method past
+or future perl(1) versions invent for guessing character sets of
+strings.
+
+Using other than us-ascii characters in Perl source code is a call
+for trouble, a compatibility nightmare.  Furthermore, GNU gettext
+only lately introduced support for non-ascii character sets in sources,
+and support for this feature may not be available everywhere.  If
+you absolutely want to use B<MSGID>s in non-ascii character sets,
+it is wise to choose utf-8.  This will minimize the risk that perl(1)
+itself will mess with the strings, and it will also be a guaranty
+that you can later translate your project into arbitrary target
+languages.
+
+Other character sets can theoretically work.  Yet, using another
+character set in the Perl source code than the one used in your
+message catalogs will B<never> work, since the lookup is done bytewise,
+and all strings with non-ascii characters will not be found.
+
+Even if you have solved all these problems, there is still one show
+stopper left: The gettext runtime API lacks a possibility to specify 
+the character set of the source code (including the original strings).
+Consequently - in absence of a hint for the input encoding - strings 
+without a translation are not subject to output character set conversion.
+In other words: If the (non-determinable) output character set differs
+from the character set used in the source code, output can be a
+mixture of two character sets.  There is no point in trying to address
+this problem in the pure Perl version of the gettext functions.  because
+breaking compatibilty between the Perl and the C version is a price too
+high to pay.
+
+This all boils down to: Only use ASCII characters in your translatable
+strings!
+
+=item B<dgettext TEXTDOMAIN, MSGID>
+
+Like gettext(), but retrieves the message for the specified 
+B<TEXTDOMAIN> instead of the default domain.  In case you wonder what
+a textdomain is, you should really read on with Locale::TextDomain(3).
+
+=item B<dcgettext TEXTDOMAIN, MSGID, CATEGORY>
+
+Like dgettext() but retrieves the message from the specified B<CATEGORY>
+instead of the default category C<LC_MESSAGES>.
+
+=item B<ngettext MSGID, MSGID_PLURAL, COUNT>
+
+Retrieves the correct translation for B<COUNT> items.  In legacy software
+you will often find something like:
+
+    print "$count file(s) deleted.\n";
+
+or
+
+    printf "$count file%s deleted.\n", $count == 1 ? '' : 's';
+
+The first example looks awkward, the second will only work in English
+and languages with similar plural rules.  Before ngettext() was introduced,
+the best practice for internationalized programs was:
+
+    if ($count == 1) {
+        print gettext "One file deleted.\n";
+    } else {
+        printf gettext "%d files deleted.\n";
+    }
+
+This is a nuisance for the programmer and often still not sufficient
+for an adequate translation.  Many languages have completely different
+ideas on numerals.  Some (French, Italian, ...) treat 0 and 1 alike,
+others make no distinction at all (Japanese, Korean, Chinese, ...),
+others have two or more plural forms (Russian, Latvian, Czech,
+Polish, ...).  The solution is:
+
+    printf (ngettext ("One file deleted.\n",
+                     "%d files deleted.\n",
+                     $count), # argument to ngettext!
+            $count);          # argument to printf!
+
+In English, or if no translation can be found, the first argument
+(B<MSGID>) is picked if C<$count> is one, the second one otherwise.
+For other languages, the correct plural form (of 1, 2, 3, 4, ...)
+is automatically picked, too.  You don't have to know anything about
+the plural rules in the target language, ngettext() will take care
+of that.
+
+This is most of the time sufficient but you will have to prove your
+creativity in cases like
+
+    printf "%d file(s) deleted, and %d file(s) created.\n";
+
+=item B<dngettext TEXTDOMAIN, MSGID, MSGID_PLURAL, COUNT>
+
+Like ngettext() but retrieves the translation from the specified
+textdomain instead of the default domain.
+
+=item B<dcngettext TEXTDOMAIN, MSGID, MSGID_PLURAL, COUNT, CATEGORY>
+
+Like dngettext() but retrieves the translation from the specified
+category, instead of the default category C<LC_MESSAGES>.
+
+=item B<pgettext MSGCTXT, MSGID>
+
+Returns the translation of MSGID, given the context of MSGCTXT.
+
+Both items are used as a unique key into the message catalog.
+
+This allows the translator to have two entries for words that may
+translate to different foreign words based on their context. For
+example, the word "View" may be a noun or a verb, which may be
+used in a menu as File->View or View->Source.
+
+    pgettext "Verb: To View", "View\n";
+    pgettext "Noun: A View", "View\n";
+
+The above will both lookup different entries in the message catalog.
+
+A typical usage are GUI programs.  Imagine a program with a main
+menu and the notorious "Open" entry in the "File" menu.  Now imagine,
+there is another menu entry Preferences->Advanced->Policy where you have 
+a choice between the alternatives "Open" and "Closed".  In English, "Open"
+is the adequate text at both places.  In other languages, it is very
+likely that you need two different translations.  Therefore, you would
+now write:
+
+    pgettext "File|", "Open";
+    pgettext "Preferences|Advanced|Policy", "Open";
+
+In English, or if no translation can be found, the second argument
+(MSGID) is returned.
+
+The function was introduced with libintl-perl version 1.17.
+
+=item B<dpgettext TEXTDOMAIN, MSGCTXT, MSGID>
+
+Like pgettext(), but retrieves the message for the specified 
+B<TEXTDOMAIN> instead of the default domain.
+
+The function was introduced with libintl-perl version 1.17.
+
+=item B<dcpgettext TEXTDOMAIN, MSGCTXT, MSGID, CATEGORY>
+
+Like dpgettext() but retrieves the message from the specified B<CATEGORY>
+instead of the default category C<LC_MESSAGES>.
+
+The function was introduced with libintl-perl version 1.17.
+
+=item B<npgettext MSGCTXT, MSGID, MSGID_PLURAL, COUNT>
+
+Like ngettext() with the addition of context as in pgettext().
+
+In English, or if no translation can be found, the second argument
+(MSGID) is picked if $count is one, the third one otherwise.
+
+The function was introduced with libintl-perl version 1.17.
+
+=item B<dnpgettext TEXTDOMAIN, MSGCTXT, MSGID, MSGID_PLURAL, COUNT>
+
+Like npgettext() but retrieves the translation from the specified
+textdomain instead of the default domain.
+
+The function was introduced with libintl-perl version 1.17.
+
+=item B<dcnpgettext TEXTDOMAIN, MSGCTXT, MSGID, MSGID_PLURAL, COUNT, CATEGORY>
+
+Like dnpgettext() but retrieves the translation from the specified
+category, instead of the default category C<LC_MESSAGES>.
+
+The function was introduced with libintl-perl version 1.17.
+
+=item B<textdomain TEXTDOMAIN>
+
+Sets the default textdomain (initially 'messages').
+
+=item B<bindtextdomain TEXTDOMAIN, DIRECTORY>
+
+Binds B<TEXTDOMAIN> to B<DIRECTORY>.  Huh? An example:
+
+    bindtextdomain "my-package", "./mylocale";
+
+Say, the selected locale (actually the selected locale for category
+C<LC_MESSAGES>) of the program is 'fr_CH', then the message catalog
+will be expected in F<./mylocale/fr_CH/LC_MESSAGES/my-package.mo>.
+
+=item B<bind_textdomain_codeset TEXTDOMAIN, ENCODING>
+
+Sets the output encoding for B<TEXTDOMAIN> to B<ENCODING>.  
+
+=item B<bind_textdomain_filter TEXTDOMAN, CODEREF, DATA>
+
+=item B<bind_textdomain_filter TEXTDOMAN, CODEREF>
+
+By default, Locale::Messages will turn the utf-8 flag of all returned
+messages off.  If you want to change this behavior, you can pass
+a reference to a subroutine that does different things - for example
+turn the utf-8 flag on, or leave it untouched.  The callback function 
+will be called with B<DATA> as the first, and the possibly 
+translated string as the second argument.  It should return the
+possibly modified string.
+
+If you want an object method to be called, pass the object itself
+in the data parameter and write a wrapper function.  Example:
+
+    sub wrapper { 
+        my ($string, $obj) = @_;
+ 
+        $obj->filterMethod ($string);
+    }
+    my $obj = MyPackage->new;
+
+    bind_textdomain_filter ('mydomain', \&wrapper, $obj);
+
+The function cannot fail and always returns a true value.
+
+B<Attention:> If you use the function for setting the utf-8 flag,
+it is B<your> responsability to ensure that the output is really
+utf-8.  You should only use it, if you have set the environment
+variable B<OUTPUT_CHARSET> to "utf-8".  Additionally you should
+call bind_textdomain_codeset() with "utf-8" as the second
+argument.
+
+This function has been introduced in libintl-perl 1.16 and it is
+B<not> part of the standard gettext API.
+
+=item B<turn_utf_8_on VARIABLE>
+
+Returns VARIABLE but with the UTF-8 flag (only known in Perl >=5.6)
+guaranteed to be turned on.  This function does not really fit into
+the module, but it is often handy nevertheless.
+
+The flag does B<not> mean that the string is in fact valid utf-8!
+
+The function was introduced with libintl-perl version 1.16.
+
+=item B<turn_utf_8_off VARIABLE>
+
+Returns VARIABLE but with the UTF-8 flag (only known in Perl >=5.6)
+guaranteed to be turned off.  This function does not really fit into
+the module, but it is often handy nevertheless.
+
+The function was introduced with libintl-perl version 1.07.
+
+=item B<select_package PACKAGE>
+
+By default, B<Locale::Messages> will try to load the XS version of
+the gettext implementation, i. e. Locale::gettext_xs(3) and will fall
+back to the pure Perl implementation Locale::gettext_pp(3).  You can
+override this behavior by passing the string "gettext_pp" or
+"gettext_xs" to the function select_package().  Passing "gettext_pp"
+here, will prefer the pure Perl implementation.
+
+You will normally want to use that in a BEGIN block of your main
+script.
+
+The function was introduced with libintl-perl version 1.03 and is not
+part of the standard gettext API.
+
+=item B<nl_putenv ENVSPEC>
+
+Resembles the ANSI C putenv(3) function.  The sole purpose of this 
+function is to work around some ideosyncrasies in the environment
+processing of Windows systems.  If you want to portably set or
+unset environment variables, use this function instead of directly
+manipulating C<%ENV>.
+
+The argument B<ENVSPEC> may have three different forms.
+
+=over 8
+
+=item B<LANGUAGE=fr_CH>
+
+This would set the environment variable C<LANGUAGE> to "fr_CH".
+
+=item B<LANGUAGE=>
+
+Normally, this will set the environment variable C<LANGUAGE> to an
+empty string.  Under Windows, however, the environment variable will
+be deleted instead (and is no longer present in C<%ENV>).  Since
+within libintl-perl empty environment variables are useless, consider
+this usage as deprecated.
+
+=item B<LANGUAGE>
+
+This will delete the environment variable B<LANGUAGE>.  If you are
+familiar with the brain-damaged implementation of putenv(3) (resp.
+_putenv()) in the so-called standard C library of MS-Windows, you
+may suspect that this is an invalid argument.  This is not the case!
+Passing a variable name not followed by an equal sign will always
+delete the variable, no matter which operating system you use.
+
+=back
+
+The function returns true for success, and false for failure.  Possible
+reasons for failure are an invalid syntax or - only under Windows -
+failure to allocate space for the new environment entry ($! will be
+set accordingly in this case).
+
+Why all this hassle?  The 32-bit versions of MS-DOS (currently
+Windows 95/98/ME/NT/2000/XP/CE/.NET) maintain two distinct blocks
+of environment variables per process.  Which block is considered
+the "correct" environment is a compile-time option of the Perl
+interpreter.  Unfortunately, if you have build the XS version 
+Locale::gettext_xs(3) under Windows, the underlying library may use 
+a different environment block, and changes you make to C<%ENV> may
+not be visible to the library.
+
+The function nl_putenv() is mostly a funny way of saying
+
+    LANGUAGE=some_value
+    
+but it does its best, to pass this information to the gettext 
+library.  Under other operating systems than Windows, it only
+operates on C<%ENV>, under Windows it will call the C library
+function _putenv() (after doing some cleanup to its arguments),
+before manipulating C<%ENV>.
+
+Please note, that you C<%ENV> is updated by nl_putenv() automatically.
+
+The function has been introduced in libintl-perl version 1.10.
+
+=back
+
+=head1 CONSTANTS
+
+You can (maybe) get the same constants from POSIX(3); see there for
+a detailed description
+
+=over 4
+
+=item B<LC_CTYPE>
+
+=item B<LC_NUMERIC>
+
+=item B<LC_TIME>
+
+=item B<LC_COLLATE>
+
+=item B<LC_MONETARY>
+
+=item B<LC_MESSAGES>
+
+This locale category was the reason that these constants from POSIX(3)
+were included here.  Even if it was present in your systems C include
+file F<locale.h>, it was not provided by POSIX(3).  Perl 5.8 and later
+seems to export the constant if available, although it is not documented
+in POSIX(3).
+
+Locale::Messages(3) makes an attempt to guess the value of this category for
+all systems, and assumes the arbitrary value 1729 otherwise.
+
+=item B<LC_ALL>
+
+If you specify the category B<LC_ALL> as the first argument to
+POSIX::setlocale(), I<all> locale categories will be affected at once.
+
+=back
+
+=head1 EXPORT TAGS
+
+The module does not export anything unless explicitely requested.
+You can import groups of functions via two tags:
+
+=over 4
+
+=item B<use Locale::Messages (':locale_h')>
+
+Imports the functions that are normally defined in the C include
+file F<locale.h>:
+
+=over 8
+
+=item B<gettext()>
+
+=item B<dgettext()>
+
+=item B<dcgettext()>
+
+=item B<ngettext()>
+
+=item B<dngettext()>
+
+=item B<dcngettext()>
+
+=item B<pgettext()>
+
+=item B<dpgettext()>
+
+=item B<dcpgettext()>
+
+=item B<npgettext()>
+
+=item B<dnpgettext()>
+
+=item B<dcnpgettext()>
+
+=item B<textdomain()>
+
+=item B<bindtextdomain()>
+
+=item B<bind_textdomain_codeset()>
+
+=back
+
+=item B<use Locale::Messages (':libintl_h')>
+
+Imports the locale category constants:
+
+=over 8
+
+=item B<LC_CTYPE>
+
+=item B<LC_NUMERIC>
+
+=item B<LC_TIME>
+
+=item B<LC_COLLATE>
+
+=item B<LC_MONETARY>
+
+=item B<LC_MESSAGES>
+
+=item B<LC_ALL>
+
+=back
+
+=back
+
+=head1 OTHER EXPORTS
+
+=item B<select_package PACKAGE>
+
+=head1 USAGE
+
+A complete example:
+
+    1: use Locale::Messages qw (:locale_h :libintl_h);
+    2: use POSIX qw (setlocale);
+    3: setlocale (LC_MESSAGES, '');
+    4: textdomain ('my-package');
+    5: bindtextdomain ('my-package' => '/usr/local/share/locale');
+    6:
+    7: print gettext ("Hello world!\n");
+
+Step by step: Line 1 imports the necessary functions and constants.
+In line 3 we set the locale for category LC_MESSAGES to the default
+user settings.  For C programs you will often read that LC_ALL
+is the best category here but this will also change the locale for
+LC_NUMERIC and many programs will not work reliably after changing
+that category in Perl; choose your own poison!
+
+In line 4 we say that all messages (translations) without an explicit
+domain specification should be retrieved from the message catalog
+for the domain 'my-package'.  Line 5 has the effect that the message
+catalog will be searched under the directory F</usr/local/share/locale>.
+
+If the user has selected the locale 'fr_CH', and if the file 
+F</usr/local/share/locale/fr_CH/LC_MESSAGES/my-package.mo>
+exists, and if it contains a GNU message object file with a translation
+for the string "Hello world!\n", then line 7 will print the French
+translation (for Switzerland CH) to STDOUT.
+
+The documentation for GNU gettext explains how to extract translatable
+strings from your Perl files and how to create message catalogs.
+
+Another less portable example: If your system uses the GNU libc you
+should be able to find various files with the name F<libc.mo>, the
+message catalog for the library itself.  If you have found these
+files under F</usr/share/locale>, then you can try the following:
+
+    use Locale::Messages qw (:locale_h :libintl_h);
+    use POSIX qw (setlocale);
+
+    setlocale LC_MESSAGES, "";
+    textdomain "libc";
+
+    # The following is actually not needed, since this is
+    # one of the default search directories.
+    bindtextdomain libc => '/usr/share/locale';
+    bind_textdomain_codeset libc => 'iso-8859-1';
+
+    print gettext ("No such file or directory");
+
+See Locale::TextDomain(3) for much simpler ways.
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::TextDomain(3pm), Locale::gettext_pp(3pm), Encode(3pm),
+perllocale(3pm), POSIX(3pm), perl(1), gettext(1), gettext(3)
+
+=cut
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/lib/Locale/Recode.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/Recode.pm
diff -N maintain/lib/libintl-perl/lib/Locale/Recode.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/Recode.pm      12 Oct 2011 23:51:26 
-0000      1.1
@@ -0,0 +1,370 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: Recode.pm,v 1.1 2011/10/12 23:51:26 pertusus Exp $
+
+# Portable character conversion for Perl.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::Recode;
+
+use strict;
+
+require Locale::Recode::_Conversions;
+
+my $loaded = {};
+my $has_encode;
+
+sub new
+{
+    my $class = ref($_[0]) || $_[0];
+    shift;
+    my %args = @_;
+
+    my $self = bless {}, $class;
+
+    my ($from_codeset, $to_codeset) = @args{qw (from to)};
+    
+    unless ($from_codeset && $to_codeset) {
+               require Carp;
+        Carp::croak (<<EOF);
+       Usage: $class->new (from => FROM_CODESET, to => TO_CODESET);
+EOF
+    }
+
+    # Find a conversion path.
+       my $path = Locale::Recode::_Conversions->findPath ($from_codeset, 
+                                                                               
                           $to_codeset);
+       unless ($path) {
+               $self->{__error} = 'EINVAL';
+               return $self;
+       }
+
+       my @conversions = ();
+       foreach (@$path) {
+               my ($module, $from, $to) = @$_;
+               
+               unless ($loaded->{$module}) {
+                       eval "require Locale::RecodeData::$module";
+                       if ($@) {
+                               $self->{__error} = $@;
+                               return $self;
+                       }
+                       
+                       $loaded->{$module} = 1;
+               }
+               
+               my $module_name = "Locale::RecodeData::$module";
+               my $method = 'new';
+               my $object = $module_name->$method (from => $from,
+                                                                               
        to => $to);
+               
+               push @conversions, $object;
+       }
+
+       $self->{__conversions} = address@hidden;
+               
+    return $self;
+}
+
+sub resolveAlias
+{
+       my ($class, $alias) = @_;
+
+       return Locale::Recode::_Conversions->resolveAlias ($alias);
+}
+
+sub getSupported
+{
+       return [ Locale::Recode::_Conversions->listSupported ];
+}
+
+sub getCharsets
+{
+       my $self = shift;
+       my %all = map { $_ => 1 } @{&getSupported};
+
+       require Locale::Recode::_Aliases;
+
+       my $conversions = Locale::Recode::_Conversions->listSupported;
+       foreach my $charset (keys %{Locale::Recode::_Aliases::ALIASES()}) {
+               my $mime_name = $self->resolveAlias ($charset);
+               next unless exists $all{$mime_name};
+               $all{$charset} = 1;
+       }
+       
+       return [ keys %all ];
+}
+
+sub recode
+{
+    my $self = $_[0];
+
+    return if $self->{__error};
+
+    return 1 unless defined $_[1];
+
+    my $chain = $self->{__conversions};
+    
+    foreach my $module (@$chain) {
+               my $success = $module->_recode ($_[1]);
+               
+               unless ($success) {
+                       $self->{__error} = $module->_getError;
+                       return;
+               }
+    }
+
+    return 1;
+}
+
+sub getError
+{
+    my $self = shift;
+    my $error = $self->{__error} or return;
+
+    if ('EINVAL' eq $error) {
+               return 'Invalid conversion';
+    } else {
+               return $error;
+    }
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::Recode - Object-Oriented Portable Charset Conversion
+
+=head1 SYNOPSIS
+
+  use Locale::Recode;
+
+  $cd = Locale::Recode->new (from => 'UTF-8',
+                             to   => 'ISO-8859-1');
+
+  die $cd->getError if $cd->getError;
+
+  $cd->recode ($text) or die $cd->getError;
+
+  $mime_name = Locale::Recode->resolveAlias ('latin-1');
+
+  $supported = Locale::Recode->getSupported;
+
+  $complete = Locale::Recode->getCharsets;
+
+=head1 DESCRIPTION
+
+This module provides routines that convert textual data from one
+codeset to another in a portable way.  The module has been started
+before Encode(3) was written.  It's main purpose today is to provide
+charset conversion even when Encode(3) is not available on the system.
+It should also work for older Perl versions without Unicode support.
+
+Internally Locale::Recode(3) will use Encode(3) whenever possible,
+to allow for a faster conversion and for a wider range of supported
+charsets, and will only fall back to the Perl implementation when
+Encode(3) is not available or does not support a particular charset
+that Locale::Recode(3) does.
+
+Locale::Recode(3) is part of libintl-perl, and it's main purpose is
+actually to implement a portable charset conversion framework for
+the message translation facilities described in Locale::TextDomain(3).
+
+=head1 CONSTRUCTOR
+
+The constructor C<new()> requires two named arguments:
+
+=over 4
+
+=item B<from>
+
+The encoding of the original data.  Case doesn't matter, aliases
+are resolved.
+
+=item B<to>
+
+The target encoding.  Again, case doesn't matter, and aliases
+are resolved.
+
+=back
+
+The constructor will never fail.  In case of an error, the object's
+internal state is set to bad and it will refuse to do any conversions.
+You can inquire the reason for the failure with the method
+getError().
+
+=head1 OBJECT METHODS
+
+The following object methods are available.
+
+=over 4
+
+=item B<recode (STRING)>
+
+Converts B<STRING> from the source encoding into the destination
+encoding.  In case of success, a truth value is returned, false
+otherwise.  You can inquire the reason for the failure with the
+method getError().
+
+=item B<getError>
+
+Returns either false if the object is not in an error state or
+an error message.
+
+=back
+
+=head1 CLASS METHODS
+
+The object provides some additional class methods:
+
+=over 4
+
+=item B<getSupported>
+
+Returns a reference to a list of all supported charsets.  This
+may implicitely load additional Encode(3) conversions like 
+Encode::HanExtra(3) which may produce considerable load on your
+system.
+
+The method is therefore not intended for regular use but rather
+for getting resp. displaying I<once> a list of available encodings.
+
+The members of the list are all converted to uppercase!
+
+=item B<getCharsets>
+
+Like getSupported() but also returns all available aliases.
+
+=back
+
+=head1 SUPPORTED CHARSETS
+
+The range of supported charsets is system-dependent.  The following
+somewhat special charsets are always available:
+
+=over 4
+
+=item B<UTF-8>
+
+UTF-8 is available independently of your Perl version.  For Perl 5.6
+or better or in the presence of Encode(3), conversions are not done
+in Perl but with the interfaces provided by these facilities which
+are written in C, hence much faster.
+
+Encoding data I<into> UTF-8 is fast, even if it is done in Perl.
+Decoding it in Perl may become quite slow.  If you frequently have
+to decode UTF-8 with B<Locale::Recode> you will probably want to
+make sure that you do that with Perl 5.6 or beter, or install Encode(3) to
+speed up things.
+
+=item B<INTERNAL>
+
+UTF-8 is fast to write but hard to read for applications.  It is 
+therefore not the worst for internal string representation but not
+far from that.  Locale::Recode(3) stores strings internally as a
+reference to an array of integer values like most programming languages
+(Perl is an exception) do, trading memory for performance.
+
+The integer values are the UCS-4 codes of the characters in host
+byte order.
+
+The encoding B<INTERNAL> is directly availabe via Locale::Recode(3)
+but of course you should not really use it for data exchange, unless
+you know what you are doing.
+
+=back
+
+Locale::Recode(3) has native support for a plethora of other encodings,
+most of them 8 bit encodings that are fast to decode, including most
+encodings used on popular micros like the ISO-8859-* series of encodings,
+most Windows-* encodings (also known as CP*), Macintosh, Atari, etc.
+
+=head1 NAMES AND ALIASES
+
+Each charset resp. encoding is available internally under a unique
+name.  Whenever the information was available, the preferred MIME name
+(see L<http://www.iana.org/assignments/character-sets/>) was chosen as 
+the internal name.
+
+Alias handling is quite strict.  The module does not make wild guesses
+at what you mean ("What's the meaning of the acronym JIS" is a valid
+alias for "7bit-jis" in Encode(3) ....) but aims at providing common
+aliases only.  The same applies to so-called aliases that are really 
+mistakes, like "utf8" for UTF-8.
+
+The module knows all aliases that are listed with the IANA character
+set registry (L<http://www.iana.org/assignments/character-sets/>), plus
+those known to libiconv version 1.8, and a bunch of additional ones.
+
+=head1 CONVERSION TABLES
+
+The conversion tables have either been taken from official sources
+like the IANA or the Unicode Consortium, from Bruno Haible's libiconv,
+or from the sources of the GNU libc and the regression tests for 
+libintl-perl will check for conformance here.  For some encodings this data
+differs from Encode(3)'s data which would cause these tests to fail.  
+In these cases, the module will not invoke the Encode(3) methods, but
+will fall back to the internal implementation for the sake of 
+consistency.
+
+The few encodings that are affected are so simple that you will not
+experience any real performance penalty unless you convert large chunks
+of data.  But the package is not really intended for such use anyway, and
+since Encode(3) is relatively new, I rather think that the differences
+are bugs in Encode which will be fixed soon.
+
+=head1 BUGS
+
+The module should provide fall back conversions for other Unicode
+encoding schemes like UCS-2, UCS-4 (big- and little-endian).
+
+The pure Perl UTF-8 decoder will not always handle corrupt UTF-8
+correctly, especially at the end and at the beginning of the string.
+This is not likely to be fixed, since the module's intention is not
+to be a consistency checker for UTF-8 data.
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Encode(3), iconv(3), iconv(1), recode(1), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData.pm  12 Oct 2011 23:51:26 
-0000      1.1
@@ -0,0 +1,179 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: RecodeData.pm,v 1.1 2011/10/12 23:51:26 pertusus Exp $
+
+# Virtual base class for Locale::Recode converters.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData;
+
+use strict;
+
+sub new
+{
+    my ($class, %args) = @_;
+
+    bless {
+               _from => $args{from},
+               _to => $args{to},
+    }, $class;
+}
+
+sub _getError
+{
+       shift->{_error};
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData - Abstract Base Class for Charset Converters
+
+=head1 SYNOPSIS
+
+    # For compatibility with Perl 5.005 and earlier, you must
+    # *use* the module before inheriting from it!
+    use qw (Locale::RecodeData);
+    use base qw (Locale::RecodeData);
+
+=head1 DESCRIPTION
+
+The module B<Locale::RecodeData> serves as an abstract base class to
+all converters used by Locale::Recode(3).
+
+Adding new conversion modules is currently not straightforward, and 
+you will have to edit the sources of some modules for that purpose.
+
+First, you have to add your new converter class to the list found
+in Locale::_Conversions(3), so that Locale::Recode(3) knows about
+its presence.  If there are valid aliases for the codeset of your
+converter, you will also have to edit Locale::_Aliases(3).
+
+Finally, you have to implement the (protected) conversion routine
+_recode().  See below (L<"INTERFACE")> for details.
+
+=head1 CONSTRUCTOR
+
+=over 4
+
+=item B<new (from =E<gt> FROM_CODESET, to =E<gt> TO_CODESET)>
+
+The constructor takes two (named) arguments:
+
+=over 8
+
+=item B<from>
+
+The canonical name of the source codeset.  Aliases have already been
+resolved and the name is converted to uppercase.
+
+=item B<to>
+
+The canonical name of the destination codeset.  Aliases have already been
+resolved and the name is converted to uppercase.
+
+=back
+
+You normally don't have to implement the constructor.  The default constructor
+implemented here will store the source and destination codesets in the
+protected members C<_from> and C<_to>.
+
+=back
+
+=head1 METHODS
+
+The class implements one method:
+
+=over 4
+
+=item B<_getError>
+
+Returns the (protected) member C<_error>.
+
+=back
+
+=head1 INTERFACE
+
+New conversion classes must provide the following interface:
+
+=over 4
+
+=item B<new (from =E<gt> FROM_CODESET, to =E<gt> TO_CODESET)>
+
+The constructor takes two (named) arguments:
+
+=over 8
+
+=item B<from>
+
+The canonical name of the source codeset.  Aliases have already been
+resolved and the name is converted to uppercase.
+
+=item B<to>
+
+The canonical name of the destination codeset.  Aliases have already been
+resolved and the name is converted to uppercase.
+
+=back
+
+=item B<_getError>
+
+Should return the last error (as a string) or false if there was no error.
+
+This method is implemented in the base class already.
+
+=item B<_recode STRINGREF>
+
+Should convert the argument C<STRINGREF> in-place.  In case of failure,
+return false, and make provisions that the method C<_getError()> returns
+an informative error message.
+
+=back
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::Recode::_Aliases(3pm), Locale::Recode::_Conversions(3pm),
+Locale::Recode(3pm), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/TextDomain.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/TextDomain.pm
diff -N maintain/lib/libintl-perl/lib/Locale/TextDomain.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/TextDomain.pm  12 Oct 2011 23:51:27 
-0000      1.1
@@ -0,0 +1,1051 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: TextDomain.pm,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# High-level interface to Perl i18n.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package __TiedTextDomain;
+
+use strict;
+
+sub TIEHASH
+{
+    my ($class, $function) = @_;
+    bless {
+        __function => $function,
+    }, $class;
+}
+
+sub FETCH
+{
+    my ($self, $msg) = @_;
+    
+    &{$self->{__function}} ($msg);
+}
+
+sub FIRSTKEY
+{
+    my $self = shift;
+    my $reset_iterator = keys %$self;
+    return scalar each %$self;
+}
+
+sub NEXTKEY
+{
+    my $self = shift;
+    return scalar each %$self;
+}
+
+sub CLEAR {}
+sub STORE {}
+sub DELETE {}
+
+1;
+
+package Locale::TextDomain;
+
+use strict;
+
+use Locale::Messages qw (textdomain bindtextdomain dgettext dngettext 
dpgettext dnpgettext);
+use Cwd qw (abs_path);
+
+use vars qw ($VERSION);
+
+$VERSION = '1.20';
+
+require Exporter;
+
+use vars qw (@ISA @EXPORT %__ $__);
+
address@hidden = ('Exporter');
address@hidden = qw (__ __x __n __nx __xn __p __px __np __npx $__ %__ 
+              N__ N__n N__p N__np);
+
+my %textdomains = ();
+my %bound_dirs = ();
+my @default_dirs = ();
+
+sub __ ($);
+       
+sub __find_domain ($);
+sub __expand ($%);
+sub __tied_gettext ($$);
+
+BEGIN {
+    # Tie the hash to gettext().
+    tie %__, '__TiedTextDomain', \&__tied_gettext;
+    $__ = \%__;
+
+       # Add default search directories, but only if they exist.
+       for my $dir (qw (/usr/share/locale /usr/local/share/locale)) {
+        if (-d $dir) {
+            @default_dirs = ($dir);
+            last;
+        }
+    }
+}
+
+# Normal gettext.
+sub __ ($)
+{
+    my $msgid = shift;
+       
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if 
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return dgettext $textdomain => $msgid;
+}
+
+# Called from tied hash.
+sub __tied_gettext ($$)
+{
+    my ($msgid) = @_;
+    
+    my ($package) = caller (1);
+    
+    my $textdomain = $textdomains{$package};
+    unless (defined $textdomain) {
+               my ($maybe_package, $filename, $line) = caller (2);
+               if (exists $textdomains{$maybe_package}) {
+                       warn <<EOF;
+Probable use of \$__ or \%__ where __() should be used at $filename:$line.
+EOF
+               }
+       }
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return dgettext $textdomain => $msgid;
+}
+
+# With interpolation.
+sub __x ($@)
+{
+    my ($msgid, %vars) = @_;
+    
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return __expand ((dgettext $textdomain => $msgid), %vars);
+}
+
+# Plural.
+sub __n ($$$)
+{
+    my ($msgid, $msgid_plural, $count) = @_;
+    
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return dngettext $textdomain, $msgid, $msgid_plural, $count;
+}
+
+# Plural with interpolation.
+sub __nx ($$$@)
+{
+    my ($msgid, $msgid_plural, $count, %args) = @_;
+    
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return __expand ((dngettext $textdomain, $msgid, $msgid_plural, $count),
+                                        %args);
+}
+
+# Plural with interpolation.
+sub __xn ($$$@)
+{
+    my ($msgid, $msgid_plural, $count, %args) = @_;
+    
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return __expand ((dngettext $textdomain, $msgid, $msgid_plural, $count),
+                                        %args);
+}
+
+# Context. (p is for particular or special)
+sub __p ($$)
+{
+    my $msgctxt = shift;
+    my $msgid = shift;
+       
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if 
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return dpgettext $textdomain => $msgctxt, $msgid;
+}
+
+# With interpolation.
+sub __px ($$@)
+{
+    my ($msgctxt, $msgid, %vars) = @_;
+    
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return __expand ((dpgettext $textdomain => $msgctxt, $msgid), %vars);
+}
+
+# Context + Plural.
+sub __np ($$$$)
+{
+    my ($msgctxt, $msgid, $msgid_plural, $count) = @_;
+    
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return dnpgettext $textdomain, $msgctxt, $msgid, $msgid_plural, $count;
+}
+
+# Plural with interpolation.
+sub __npx ($$$$@)
+{
+    my ($msgctxt, $msgid, $msgid_plural, $count, %args) = @_;
+    
+    my $package = caller;
+    
+    my $textdomain = $textdomains{$package};
+    
+    __find_domain $textdomain if
+               defined $textdomain && defined $bound_dirs{$textdomain};
+    
+    return __expand ((dnpgettext $textdomain, $msgctxt, $msgid, $msgid_plural, 
$count),
+                                        %args);
+}
+
+# Dummy functions for string marking.
+sub N__($)
+{
+    return shift;
+}
+
+sub N__n($$$)
+{
+    return @_;
+}
+
+sub N__p($$) {
+    return @_;
+}
+
+sub N__np($$$$) {
+    return @_;
+}
+
+sub import
+{
+    my ($self, $textdomain, @search_dirs) = @_;
+    
+    # Check our caller.
+    my $package = caller;
+    return if exists $textdomains{$package};
+    
+    # Was a textdomain specified?
+       $textdomain = textdomain unless defined $textdomain && length 
$textdomain;
+    
+    # Remember the textdomain of that package.
+    $textdomains{$package} = $textdomain;
+    
+    # Remember that we still have to bind that textdomain to
+    # a directory.
+    unless (exists $bound_dirs{$textdomain}) {
+               @search_dirs = map $_ . '/LocaleData', @INC, @default_dirs
+                       unless @search_dirs;
+               $bound_dirs{$textdomain} = address@hidden;
+    }
+       
+    Locale::TextDomain->export_to_level (1, $package, @EXPORT);
+    
+    return;
+}
+
+# Private functions.
+sub __find_domain ($)
+{
+       my $domain = shift;
+       
+       my $try_dirs = $bound_dirs{$domain};
+       
+       if (defined $try_dirs) {
+               my $found_dir = '';
+               
+               TRYDIR: foreach my $dir (map { abs_path $_ } grep { -d $_ } 
@$try_dirs) {
+                       # Is there a message catalog?  We have to search 
recursively
+                       # for it.  Since globbing is reported to be buggy under
+                       # MS-DOS, we roll our own version.
+                       local *DIR;
+                       if (opendir DIR, $dir) {
+                               my @files = map { 
"$dir/$_/LC_MESSAGES/$domain.mo" } 
+                                       grep { ! /^\.\.?$/ } readdir DIR;
+
+                               foreach my $file (@files) {
+                                       if (-f $file || -l $file) {
+                                               # If we find a non-readable 
file on our way,
+                                               # we access has been disabled 
on purpose.
+                                               # Therefore no -r check here.
+                                               $found_dir = $dir;
+                                               last TRYDIR;
+                                       }
+                               }
+                       }
+               }
+               
+               # If there was no success, this will fall back to the default 
search
+               # directories.
+               bindtextdomain $domain => $found_dir;
+    }
+    
+    # The search has completed.
+    undef $bound_dirs{$domain};
+    
+    return 1;
+}
+
+sub __expand ($%)
+{
+    my ($translation, %args) = @_;
+    
+    my $re = join '|', map { quotemeta $_ } keys %args;
+    $translation =~ s/\{($re)\}/defined $args{$1} ? $args{$1} : "{$1}"/ge;
+    
+    return $translation;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::TextDomain - Perl Interface to Uniforum Message Translation
+
+=head1 SYNOPSIS
+
+ use Locale::TextDomain ('my-package', @locale_dirs);
+ 
+ use Locale::TextDomain qw (my-package);
+ 
+ my $translated = __"Hello World!\n";
+ 
+ my $alt = $__{"Hello World!\n"};
+ 
+ my $alt2 = $__->{"Hello World!\n"};
+
+ my @list = (N__"Hello",
+             N__"World");
+ 
+ printf (__n ("one file read", 
+              "%d files read", 
+              $num_files),
+         $num_files);
+
+ print __nx ("one file read", "{num} files read", $num_files,
+             num => $num_files);
+
+ my $translated_context = __p ("Verb, to view", "View");
+
+ printf (__np ("Files read from filesystems",
+               "one file read", 
+               "%d files read", 
+               $num_files),
+         $num_files);
+
+ print __npx ("Files read from filesystems",
+              "one file read", 
+              "{num} files read", 
+              $num_files,
+              num => $num_files);
+
+
+=head1 DESCRIPTION
+
+The module Locale::TextDomain(3pm) provides a high-level interface
+to Perl message translation.
+
+=head2 Textdomains
+
+When you request a translation for a given string, the system used
+in libintl-perl follows a standard strategy to find a suitable message
+catalog containing the translation: Unless you explicitely define
+a name for the message catalog, libintl-perl will assume that your
+catalog is called 'messages' (unless you have changed the default
+value to something else via Locale::Messages(3pm), method textdomain()).
+
+You might think that his default strategy leaves room for optimization
+and you are right.  It would be a lot smarter if multiple software
+packages, all with their individual message catalogs, could be installed
+on one system, and it should also be possible that third-party
+components of your software (like Perl modules) can load their
+message catalogs, too, without interfering with yours.
+
+The solution is clear, you have to assign a unique name to your message
+database, and you have to specify that name at run-time.  That unique
+name is the so-called I<textdomain> of your software package.  The name is
+actually arbitrary but you should follow these best-practice guidelines
+to ensure maximum interoperability:
+
+=over 8
+
+=item File System Safety
+
+In practice, textdomains get mapped into file names, and you should
+therefore make sure that the textdomain you choose is a valid filename
+on every system that will run your software.
+
+=item Case-sensitivity
+
+Textdomains are always case-sensitive (i. e. 'Package' and 'PACKAGE'
+are not the same).  However, since the message catalogs will be stored
+on file systems, that may or may not distinguish case when looking
+up file names, you should avoid potential conflicts here.
+
+=item Textdomain Should Match CPAN Name
+
+If your software is listed as a module on CPAN, you should simply 
+choose the name on CPAN as your textdomain.  The textdomain for 
+libintl-perl is hence 'libintl-perl'.  But please replace all 
+periods ('.') in your package name with an underscore because ...
+
+=item Internet Domain Names as a Fallback
+
+... if your software is I<not> a module listed on CPAN, as a last 
+resort you should use the Java(tm) package scheme, i. e. choose
+an internet domain that you are owner of (or ask the owner of an
+internet domain) and concatenate your preferred textdomain with the
+reversed internet domain.  Example: Your company runs the web-site
+'www.foobar.org' and is the owner of the domain 'foobar.org'.  The
+textdomain for your company's software 'barfoos' should hence be
+'org.foobar.barfoos'.
+
+=back
+
+If your software is likely to be installed in different versions on
+the same system, it is probably a good idea to append some version
+information to your textdomain.
+
+Other systems are less strict with the naming scheme for textdomains
+but the phenomena known as Perl is actually a plethora of small,
+specialized modules and it is probably wisest to postulate some
+namespace model in order to avoid chaos.
+
+=head2 Binding textdomains to directories
+
+Once the system knows the I<textdomain> of the message that you 
+want to get translated into the user's language, it still has to
+find the correct message catalog.  By default, libintl-perl will
+look up the string in the translation database found in the 
+directories F</usr/share/locale> and F</usr/local/share/locale>
+(in that order).
+
+It is neither guaranteed that these directories exist on the target
+machine, nor can you be sure that the installation routine has write 
+access to these locations.  You can therefore instruct libintl-perl 
+to search other directories prior to the default directories.  Specifying 
+a differnt search directory is called I<binding> a textdomain to a 
+directory.
+
+B<Locale::TextDomain> extends the default strategy by a Perl
+specific approach.  Unless told otherwise, it will look for a
+directory F<LocaleData> in every component found in the standard
+include path C<@INC> and check for a database containing the message
+for your textdomain there.  Example: If the path 
+F</usr/lib/perl/5.8.0/site_perl> is in your C<@INC>, you can
+install your translation files in F</usr/lib/perl/5.8.0/site_perl/LocaleData>, 
+and they will be found at run-time.
+
+=head1 USAGE
+
+It is crucial to remember that you use Locale::TextDoamin(3) as 
+specified in the section L</SYNOPSIS>, that means you have to 
+B<use> it, not B<require> it.  The module behaves quite differently 
+compared to other modules.
+
+The most significant difference is the meaning of the list passed
+as an argument to the use() function.  It actually works like this:
+
+    use Locale::TextDomain (TEXTDOMAIN, DIRECTORY, ...)
+
+The first argument (the first string passed to use()) is the textdomain
+of your package, optionally followed by a list of directories to search
+I<instead> of the Perl-specific directories (see above: F</LocaleData>
+appended to every part of C<@INC>).
+
+If you are the author of a package 'barfoos', you will probably put
+the line
+
+    use Locale::TextDomain 'barfoos';
+
+resp. for non-CPAN modules
+
+    use Locale::TextDomain 'org.foobar.barfoos';
+
+in every module of your package that contains translatable strings. If
+your module has been installed properly, including the message catalogs,
+it will then be able to retrieve these translations at run-time.
+
+If you have not installed the translation database in a directory
+F<LocaleData> in the standard include path C<@INC> (or in the system
+directories F</usr/share/locale> resp. F</usr/local/share/locale>), you 
+have to explicitely specify a search path by giving the names of
+directories (as strings!) as additional arguments to use():
+
+    use Locale::TextDomain qw (barfoos ./dir1 ./dir2);
+
+Alternatively you can call the function bindtextdomain() with suitable
+arguments (see the entry for bindtextdomain() in 
+L<Locale::Messages/FUNCTIONS>).  If you do so, you should pass 
+C<undef> as an additional argument in order to avoid unnecessary
+lookups:
+
+    use Locale::TextDomain ('barfoos', undef);
+
+You see that the arguments given to use() have nothing to do with
+what is imported into your namespace, but they are rather arguments
+to textdomain(), resp. bindtextdomain().  Does that mean that 
+B<Locale::TextDomain> exports nothing into your namespace? Umh, not
+exactly ... in fact it imports I<all> functions listed below into
+your namespace, and hence you should not define conflicting functions
+(and variables) yourself.
+
+So, why has Locale::TextDomain to be different from other modules?
+If you have ever written software in C and prepared it for 
+internationalization (i18n), you will probably have defined some
+preprocessor macros like:
+
+    #define _(String) dgettext ("my-textdomain", String)
+    #define N_(String) String
+
+You only have to define that once in C, and the textdomain for your
+package is automatically inserted into all gettext functions.  In 
+Perl there is no such mechanism (at least it is not portable,
+option -P) and using the gettext functions could become quite
+cumbersome without some extra fiddling:
+
+    print dgettext ("my-textdomain", "Hello world!\n");
+
+This is no fun.  In C it would merely be a
+
+    printf (_("Hello world!\n"));
+
+Perl has to be more concise and shorter than C ... see the next
+section for how you can use B<Locale::TextDomain> to end up in Perl 
+with a mere
+
+    print __"Hello World!\n";
+
+=head1 EXPORTED FUNCTIONS
+
+All functions have quite funny names on purpose.  In fact the 
+purpose for that is quite clear: They should be short, operator-like,
+and they should not yell for conflicts with existing functions in
+I<your> namespace.  You will understand it, when you internationalize
+your first Perl program or module.  Preparing it is more like marking
+strings as being translatable than inserting function calls.  Here
+we go:
+
+=over 4
+
+=item B<__ MSGID>
+
+B<NOTE:> This is a I<double> underscore!
+
+The basic and most-used function.  It is a short-cut for a call
+to gettext() resp. dgettext(), and simply returns the translation for
+B<MSGID>.  If your old code reads like this:
+
+    print "permission denied";
+    
+You will now write:
+
+    print __"permission denied";
+
+That's all, the string will be output in the user's preferred language,
+provided that you have installed a translation for it.
+
+Of course you can also use parentheses:
+
+    print __("permission denied");
+
+Or even:
+
+    print (__("permission denied"));
+
+In my eyes, the first version without parentheses looks best.
+
+=item B<__x MSGID, ID1 =E<gt> VAL1, ID2 =E<gt> VAL2, ...>
+
+One of the nicest features in Perl is its capability to interpolate
+variables into strings:
+
+    print "This is the $color $thing.\n";
+
+This nice feature might con you into thinking that you could now
+write
+
+    print __"This is the $color $thing.\n";
+
+Alas, that would be nice, but it is not possible.  Remember that the
+function __() serves both as an operator for translating strings 
+I<and> as a mark for translatable strings.  If the above string would
+get extracted from your Perl code, the un-interpolated form would
+end up in the message catalog because when parsing your code it
+is unpredictable what values the variables C<$thing> and C<$color>
+will have at run-time (this fact is most probably one of the reasons
+you have written your program for).
+
+However, at run-time, Perl will have interpolated the values already
+I<before> __() (resp. the underlying gettext() function) has seen the
+original string.  Consequently something like "This is the red car.\n"
+will be looked up in the message catalog, it will not be found (because
+only "This is the $color $thing.\n" is included in the database), 
+and the original, untranslated string will be returned.
+Honestly, because this is almost always an error, the xgettext(1)
+program will bail out with a fatal error when it comes across that
+string in your code.
+
+There are two workarounds for that:
+
+    printf __"This is the %s %s.\n", $color, $thing;
+
+But that has several disadvantages: Your translator will only
+see the isolated string, and without the surrounding code it
+is almost impossible to interpret it correctly.  Of course, GNU
+emacs and other software capable of editing PO translation files
+will allow you to examine the context in the source code, but it
+is more likely that your translator will look for a less challenging
+translation project when she frequently comes across such messages.
+
+And even if she does understand the underlying programming, what
+if she has to reorder the color and the thing like in French:
+
+    msgid "This is the red car.\n";
+    msgstr "Cela est la voiture rouge.\n"
+
+Zut alors! No way! You cannot portably reorder the arguments to 
+printf() and friends in Perl (it is possible in C, but at the 
+time of this writing not supported in Perl, and it would lead to
+other problems anyway).
+
+So what? The Perl backend to GNU gettext has defined an alternative
+format for interpolatable strings:
+
+    "This is the {color} {thing}.\n";
+
+Instead of Perl variables you use place-holders (legal Perl variables
+are also legal place-holders) in curly braces, and then you call
+
+    print __x ("This is the {color} {thing}.\n", 
+               thing => $thang,
+               color => $color);
+
+The function __x() will take the additional hash and replace all
+occurencies of the hash keys in curly braces with the corresponding
+values.  Simple, readable, understandable to translators, what else
+would you want?  And if the translator forgets, misspells or otherwise
+messes up some "variables", the msgfmt(1) program, that is used to
+compile the textual translation file into its binary representation
+will even choke on these errors and refuse to compile the translation.
+
+=item B<__n MSGID, MSGID_PLURAL, COUNT>
+
+Whew! That looks complicated ... It is best explained with an example.
+We'll have another look at your vintage code:
+
+    if ($files_deleted > 1) {
+        print "All files have been deleted.\n";
+    } else {
+        print "One file has been deleted.\n";
+    }
+
+Your intent is clear, you wanted to avoid the cumbersome
+"1 files deleted".  This is okay for English, but other languages
+have more than one plural form.  For example in Russian it makes
+a difference whether you want to say 1 file, 3 files or 6 files.
+You will use three different forms of the noun 'file' in each
+case.  [Note: Yep, very smart you are, the Russian word for 'file'
+is in fact the English word, and it is an invariable noun, but if you
+know that, you will also understand the rest despite this little
+simplification ...].
+
+That is the reason for the existance of the function ngettext(),
+that __n() is a short-cut for: 
+
+    print __n"One file has been deleted.\n", 
+             "All files have been deleted.\n",
+             $files_deleted;
+
+Alternatively:
+
+    print __n ("One file has been deleted.\n",
+               "All files have been deleted.\n",
+               $files_deleted);
+
+The effect is always the same: libintl-perl will find out which
+plural form to pick for your user's language, and the output string
+will always look okay.
+
+=item B<__nx MSGID, MSGID_PLURAL, COUNT, VAR1 =E<gt> VAL1, VAR2 =E<gt> VAL2, 
...>
+
+Bringing it all together:
+
+    print __nx ("One file has been deleted.\n",
+                "{count} files have been deleted.\n",
+                $num_files,
+                count => $num_files);
+
+The function __nx() picks the correct plural form (also for English!)
+I<and> it is capable of interpolating variables into strings.
+
+Have a close look at the order of arguments: The first argument is the
+string in the singular, the second one is the plural string. The third
+one is an integer indicating the number of items.  This third argument
+is I<only> used to pick the correct translation.  The optionally 
+following arguments make up the hash used for interpolation.  In the
+beginning it is often a little confusing that the variable holding the
+number of items will usually be repeated somewhere in the interpolation
+hash.
+
+=item B<__xn MSGID, MSGID_PLURAL, COUNT, VAR1 =E<gt> VAL1, VAR2 =E<gt> VAL2, 
...>
+
+Does exactly the same thing as __nx().  In fact it is a common typo
+promoted to a feature.
+
+=item B<__p MSGCTXT, MSGID>
+
+This is much like __. The "p" stands for "particular", and the MSGCTXT 
+is used to provide context to the translator. This may be neccessary
+when your string is short, and could stand for multiple things. For example:
+
+    print __p"Verb, to view", "View";
+    print __p"Noun, a view", "View";
+
+The above may be "View" entries in a menu, where View->Source and File->View 
+are different forms of "View", and likely need to be translated differently.
+
+A typical usage are GUI programs.  Imagine a program with a main
+menu and the notorious "Open" entry in the "File" menu.  Now imagine,
+there is another menu entry Preferences->Advanced->Policy where you have 
+a choice between the alternatives "Open" and "Closed".  In English, "Open"
+is the adequate text at both places.  In other languages, it is very
+likely that you need two different translations.  Therefore, you would
+now write:
+
+    __p"File|", "Open";
+    __p"Preferences|Advanced|Policy", "Open";
+
+In English, or if no translation can be found, the second argument
+(MSGID) is returned.
+
+This function was introduced in libintl-perl 1.17.
+
+=item B<__px MSGCTXT, MSGID, VAR1 =E<gt> VAL1, VAR2 =E<gt> VAL2, ...>
+
+Like __p(), but supports variable substitution in the string, like __x().
+
+    print __px("Verb, to view", "View {file}", file => $filename);
+
+See __p() and __x() for more details.
+
+This function was introduced in libintl-perl 1.17.
+
+=item B<__np MSGCTXT, MSGID, MSGID_PLURAL, COUNT>
+
+This adds context to plural calls. It should not be needed very often,
+if at all, due to the __nx() function. The type of variable substitution
+used in other gettext libraries (using sprintf-like sybols, like %s or %1)
+sometimes required context. For a (bad) example of this:
+
+    printf (__np("[count] files have been deleted",
+                "One file has been deleted.\n",
+                "%s files have been deleted.\n",
+                $num_files),
+            $num_files);
+
+NOTE: The above usage is discouraged. Just use the __nx() call, which 
+provides inline context via the key names.
+
+This function was introduced in libintl-perl 1.17.
+
+=item B<__npx MSGCTXT, MSGID, MSGID_PLURAL, COUNT, VAR1 =E<gt> VAL1, VAR2 
=E<gt> VAL2, ...>
+
+This is provided for comleteness. It adds the variable interpolation
+into the string to the previous method, __np().
+
+It's usage would be like so:
+
+    print __nx ("Files being permenantly removed",
+                "One file has been deleted.\n",
+                "{count} files have been deleted.\n",
+                $num_files,
+                count => $num_files);
+
+I cannot think of any situations requiring this, but we can easily 
+support it, so here it is.
+
+This function was introduced in libintl-perl 1.17.
+
+=item B<N__ (ARG1, ARG2, ...)>
+
+A no-op function that simply echoes its arguments to the caller.  Take
+the following piece of Perl:
+
+    my @options = (
+        "Open",
+        "Save",
+        "Save As",
+    );
+
+    ...
+
+    my $option = $options[1];
+
+Now say that you want to have this translatable.  You could sometimes
+simply do:
+
+    my @options = (
+        __"Open",
+        __"Save",
+        __"Save As",
+    );
+
+    ...
+
+    my $option = $options[1];
+
+But often times this will not be what you want, for example when you
+also need the unmodified original string.  Sometimes it may not even
+work, for example, when the preferred user language is not yet
+determined at the time that the list is initialized.
+
+In these cases you would write:
+
+    my @options = (
+        N__"Open",
+        N__"Save",
+        N__"Save As",
+    );
+
+    ...
+
+    my $option = __($options[1]);
+    # or: my $option = dgettext ('my-domain', $options[1]);
+
+Now all the strings in C<@options> will be left alone, since N__()
+returns its arguments (one ore more) unmodified.  Nevertheless, the
+string extractor will be able to recognize the strings as being 
+translatable.  And you can still get the translation later by passing
+the variable instead of the string to one of the above translation
+functions.
+
+=item B<N__n (MSGID, MSGID_PLURAL, COUNT)>
+
+Does exactly the same as N__().  You will use this form if you have 
+to mark the strings as having plural forms.
+
+=item B<N__p (MSGCTXT, MSGID)>
+
+Marks B<MSGID> as N__() does, but in the context B<MSGCTXT>.
+
+=item B<N__np (MSGCTXT, MSGID, MSGID_PLURAL, COUNT)>
+
+Marks B<MSGID> as N__n() does, but in the context B<MSGCTXT>.
+=back
+
+=head1 EXPORTED VARIABLES
+
+The module exports several variables into your namespace:
+
+=over 4
+
+=item B<%__>
+
+A tied hash.  Its keys are your original messages, the values are
+their translations:
+
+    my $title = "<h1>$__{'My Homepage'}</h1>";
+
+This is much better for your translation team than
+
+    my $title = __"<h1>My Homepage</h1>";
+
+In the second case the HTML code will make it into the translation
+database and your translators have to be aware of HTML syntax when
+translating strings.
+
+B<Warning:> Do I<not> use this hash outside of double-quoted strings!
+The code in the tied hash object relies on the correct working of
+the function caller() (see "perldoc -f caller"), and this function
+will report incorrect results if the tied hash value is the argument
+to a function from another package, for example:
+
+  my $result = Other::Package::do_it ($__{'Some string'});
+
+The tied hash code will see "Other::Package" as the calling package,
+instead of your own package.  Consequently it will look up the message
+in the wrong text domain.  There is no workaround for this bug.
+Therefore:
+
+Never use the tied hash interpolated strings!
+
+=item B<$__>
+
+A reference to C<%__>, in case you prefer:
+
+     my $title = "<h1>$__->{'My Homepage'}</h1>";
+
+=back
+
+=head1 PERFORMANCE
+
+Message translation can be a time-consuming task.  Take this little
+example:
+
+    1: use Locale::TextDomain ('my-domain');
+    2: use POSIX (:locale_h);
+    3: 
+    4: setlocale (LC_ALL, '');
+    5: print __"Hello world!\n";
+
+This will usually be quite fast, but in pathological cases it may
+run for several seconds.  A worst-case scenario would be a
+Chinese user at a terminal that understands the codeset Big5-HKSCS.
+Your translator for Chinese has however chosen to encode the translations
+in the codeset EUC-TW.
+
+What will happen at run-time?  First, the library will search and load a
+(maybe large) message catalog for your textdomain 'my-domain'.  Then
+it will look up the translation for "Hello world!\n", it will find that
+it is encoded in EUC-TW.  Since that differs from the output codeset
+Big5-HKSCS, it will first load a conversion table containing several
+ten-thousands of codepoints for EUC-TW, then it does the same with
+the smaller, but still very large conversion table for Big5-HKSCS,
+it will convert the translation on the fly from EUC-TW into Big5-HKSCS,
+and finally it will return the converted translation.
+
+A worst-case scenario but realistic.  And for these five lines of codes,
+there is not much you can do to make it any faster.  You should understand,
+however, I<when> the different steps will take place, so that you can
+arrange your code for it.
+
+You have learned in the section L</DESCRIPTION> that line 1 is 
+responsible for locating your message database.  However, the
+use() will do nothing more than remembering your settings.  It will
+not search any directories, it will not load any catalogs or 
+conversion tables.
+
+Somewhere in your code you will always have a call to 
+POSIX::setlocale(), and the performance of this call may be time-consuming,
+depending on the architecture of your system.  On some systems, this
+will consume very little time, on others it will only consume a
+considerable amount of time for the first call, and on others it may
+always be time-consuming.  Since you cannot know, how setlocale() is
+implemented on the target system, you should reduce the calls to
+setlocale() to a minimum.
+
+Line 5 requests the translation for your string.  Only now, the library
+will actually load the message catalog, and only now will it load
+eventually needed conversion tables.  And from now on, all this information
+will be cached in memory.  This strategy is used throughout libintl-perl,
+and you may describe it as 'load-on-first-access'.  Getting the next
+translation will consume very little resources.
+
+However, although the translation retrieval is somewhat obfuscated
+by an operator-like function call, it is still a function call, and in
+fact it even involves a chain of function calls.  Consequently, the
+following example is probably bad practice:
+
+    foreach (1 .. 100_000) {
+        print __"Hello world!\n";
+    }
+
+This example introduces a lot of overhead into your program.  Better
+do this:
+
+    my $string = __"Hello world!\n";
+    foreach (1 .. 100_000) {
+        print $string;
+    }
+
+The translation will never change, there is no need to retrieve it
+over and over again.  Although libintl-perl will of course cache
+the translation read from the file system, you can still avoid the
+overhead for the function calls.
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::Messages(3pm), Locale::gettext_pp(3pm), perl(1),
+gettext(1), gettext(3)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/Util.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/Util.pm
diff -N maintain/lib/libintl-perl/lib/Locale/Util.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/Util.pm        12 Oct 2011 23:51:27 
-0000      1.1
@@ -0,0 +1,1208 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: Util.pm,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# Portable methods for locale handling.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                         
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::Util;
+
+use strict;
+
+use constant DEBUG => 0;
+
+use base qw (Exporter);
+
+use vars qw (@EXPORT_OK);
+
address@hidden = qw (parse_http_accept_language
+                                parse_http_accept_charset
+                                set_locale set_locale_cache get_locale_cache
+                                web_set_locale);
+
+# The following list maps languages to a rough guess of the country that
+# is most likely to be meant if no locale info for the country alone is
+# found.  I have assembled the list to the best of my knowledge, preferring
+# the country that has the language as its official language, and in doubt
+# listing the country that has the most speakers of that language.  Corrections
+# are welcome.
+use constant LANG2COUNTRY => {
+    aa => 'ET', # Afar => Ethiopia
+    ab => 'AB', # Abkhazian => Georgia
+    # ae => '??', # Avestan => ??, Iran?
+    af => 'za',  # Afrikaans => South Africa
+    am => 'ET', # Amharic => Ethiopia
+    ar => 'EG', # Arabic => Egypt
+    as => 'IN', # Assamese => India
+    ay => 'BO', # Aymara => Bolivia
+    az => 'AZ', # Azerbaijani => Azerbaijan
+    ba => 'RU', # Bashkir => Russia
+    be => 'BY', # Belarusian => Belarus
+    bg => 'BG', # Bulgarian => Bulgaria
+    bh => 'IN', # Bihari => India
+    bi => 'VU', # Bislama => Vanuatu
+    bn => 'BD', # Bengali => Bangladesh
+    bo => 'CN', # Tibetan => China
+    br => 'FR', # Breton => France
+    bs => 'BA', # Bosnian => Bosnia and Herzegovina
+    ca => 'ES', # Catalan => Spain
+    ce => 'RU', # Chechen => Russia
+    ch => '??', # Chamorro => Guam (or mp?)
+    co => 'FR', # Corsican => France
+    cs => 'CZ', # Czech => Czech Republic
+    cu => 'BG', # Church Slavic => Bulgaria
+    cv => 'RU', # Chuvash => Russia
+    cy => 'GB', # Welsh => United Kingdom
+    da => 'DK', # Danish => Denmark
+    de => 'DE', # German => Germany
+    dz => 'BT', # Dzongkha => Bhutan
+    en => 'US', # English => United States
+    fa => 'IR', # Iran, Islamic Republic of
+    fi => 'FI', # Finnish => Finland
+    fj => 'FJ', # Fijian => Fiji
+    fo => 'FO', # Faeroese => Faroe Islands
+    fr => 'FR', # French => France
+    fy => 'FY', # Frisian => Netherlands
+    ga => 'IE', # Irish => Ireland
+    gd => 'GB', # Gaelic (Scots) => United Kingdom
+    gl => 'ES', # Gallegan => Spain
+    gn => 'PY', # Guarani => Paraguay
+    gu => 'IN', # Gujarati => IN
+    gv => 'GB', # Manx => United Kingdom
+    ha => 'NE', # Hausa => Niger (ng?)
+    he => 'IL', # Hebrew => Israel
+    hi => 'IN', # Hindi => India
+    ho => 'PG', # Hiri Motu => Papua New Guinea
+    hr => 'HR', # Croatian
+    hu => 'HU', # Hungarian => Hungary
+    hy => 'AM', # Armenian => Armenia
+    hz => 'NA', # Herero => Namibia
+    # ia => '??', # Interlingua (aka "latino sine flexione") => ??
+    id => 'ID', # Indonesian => Indonesia
+    # ie => '??', # Interlingue => ???
+    ik => 'US', # Inupiaq => United States
+    is => 'IS', # Icelandic => Iceland
+    it => 'IT', # Italian => Italy
+    iu => 'CA', # Inuktitut => Canada
+    iw => 'IL', # Hebrew => Israel
+    ja => 'JP', # Japanese => Japan
+    jw => 'ID', # Javanese => Indonesia
+    ka => 'GE', # Georgian => Georgia
+    ki => 'KE', # Kikuyu => Kenya
+    kj => 'AO', # Kuanyama => Angola (na?)
+    kk => 'KZ', # Kazakh => Kazakhstan
+    kl => 'GL', # Kalaallisut => Greenland
+    km => 'KH', # Khmer => Cambodia
+    kn => 'IN', # Kannada => India
+    ko => 'KR', # Korean => Korea, Republic of (more speakers than North Korea)
+    ks => 'IN', # Kashmiri => India
+    ku => 'TR', # Kurdish => Turkey
+    kv => 'RU', # Komi => Russia
+    kw => 'GB', # Cornish => United Kingdom
+    ky => 'KG', # Kirghyz => Kyrgyzstan
+    la => 'VA', # Latin => Holy See (Vatican City State)
+    lb => 'LU', # Letzeburgesch => Luxembourg
+    ln => 'CG', # Lingala => Republic of the Congo (cd?)
+    lo => 'LA', # Lao => Lao People's Democratic Republic
+    lt => 'LT', # Lithuanian => Lithuania
+    lv => 'LV', # Latvian => Latvia
+    mg => 'MG', # Malagasy => Madagascar
+    mh => 'MH', # Marshall => Marshall Islands
+    mi => 'NZ', # Maori => New Zealand
+    mk => 'MK', # Macedonian => Macedonia, the Former Yugoslav Republic of
+    ml => 'IN', # Malayalam => India
+    mn => 'MN', # Mongolian => Mongolia
+    mr => 'IN', # Marathi => India
+    ms => 'MY', # Malay => Malaysia (FIXME: not really sure ...)
+    mt => 'MT', # Maltese => Malta
+    my => 'MM', # Burmese => Myanmar
+    na => 'NR', # Nauru => Nauru
+    nb => 'NO', # Norwegian Bokmål => Norway
+    nd => 'ZA', # Ndebele, North => South Africa
+    ne => 'NP', # Nepali => Nepal
+    ng => 'NA', # Ndonga => Namibia
+    nl => 'NL', # Dutch => Netherlands
+    nn => 'NO', # Norwegian Nynorsk => Norway
+    no => 'NO', # Norwegian => Norway
+    nr => 'ZA', # Ndebele, South => South Africa
+    nv => 'US', # Navajo => United States
+    ny => 'MW', # Chichewa; Nyanja => Malawi
+    oc => 'FR', # Occitan (post 1500) => France
+    om => 'ET', # Oromo => Ethiopia
+    or => 'IN', # Oriya => India
+    os => 'RU', # Ossetian; Ossetic => Russia (FIXME: Or Georgia?)
+    pa => 'IN', # Panjabi => India
+    pi => 'IN', # Pali => India (FIXME: Or Thailand, Sri Lanka, Myanmar,
+                # Cambodia)
+    pl => 'PL', # Polish => Poland
+    ps => 'PK', # Pushto => Pakistan
+    pt => 'PT', # Portuguese => Portugal (following our rules this should
+                # actually be Brazil but that would be to unrealistic,
+                # people from Brazil set their locale to pt_BR).
+    qu => 'PE', # Quechua => Peru
+    rm => 'CH', # Rhaeto-Romance => Switzerland
+    rn => 'RW', # Rundi => Rwanda
+    ro => 'RO', # Romanian => Romania
+    ru => 'RU', # Russian => Russia
+    rw => 'RW', # Kinyarwanda => Rwanda
+    sa => 'IN', # Sanskrit => India
+    sc => 'IT', # Sardinian => Italy
+    sd => 'IN', # Sindhi => India
+    se => 'SE', # Sami => Sweden (Totally unsure here.  The Sami languages 
+                   # are also spoken in Norway, Finland and Russia, but the 
+                # largest part of the area seems to be in Sweden. 
+    sg => '??', # Sango => Central African Republic
+    si => 'LK', # Sinhalese => Sri Lanka
+    sk => 'SK', # Slovakian => Slovakia
+    sl => 'SL', # Slovenian => Slovenia
+    sm => 'WS', # Samoan => Samoa
+    sh => 'ZW', # Shona => Zimbabwe (FIXME: Rather Mozambique?)
+    so => 'SO', # Somali => Somalia
+    sq => 'AL', # Albanian => Albania
+    sr => 'YU', # Serbian => Yugoslavia
+    ss => '??', # Swati => Swaziland (za?)
+    st => 'LS', # Sotho => Lesotho
+    su => 'IN', # Sundanese => Indonesia
+    sv => 'SE', # Swedish => Sweden
+    sw => 'TZ', # Suaheli => Tanzania, United Republic of
+    ta => 'LK', # Tamil => Sri Lanka
+    te => 'IN', # Telugu => India
+    tg => 'TJ', # Tajik => Tajikistan
+    th => 'TH', # Thai => Thailand
+    ti => 'ER', # Tigrinya => Eritrea
+    tk => 'TM', # Turkmen => Turkmenistan
+    tl => 'PH', # Tagalog => Philippines
+    tn => 'BW', # Tswana => Botswana
+    to => 'TO', # Tonga => Tonga
+    tr => 'TR', # Turkish => Turkish
+    tt => 'RU', # Tatar => Russia
+    tw => 'GH', # Twi => Ghana
+    ug => 'CN', # Uighur => China
+    uk => 'UA', # Ukrainian => Ukraine
+    ur => 'PK', # Urdu => Pakistan
+    uz => 'UZ', # Uzbek => Uzbekistan
+    vi => 'VN', # Vietnamese => Vietnam
+    # vo => '??', # Volapuk => Nowhere
+    wo => 'SN', # Wolof => Senegal
+    xh => 'ZA', # Xhosa => South Africa
+    yi => 'IL', # Yiddish => Israel (FIXME: Rather United States?)
+    yo => 'NG', # Yoruba => Nigeria
+    za => 'CN', # Zhuang => China
+    zh => 'CN', # Chinese => China
+    zu => 'ZA', # Zulu => South Africa
+};
+
+use constant WIN32LANGUAGE => {
+    aa => "Afar",
+    ab => "Abkhazian",
+    ae => "Avestan",
+    af => "Afrikaans",
+    am => "Amharic",
+    ar => "Arabic",
+    as => "Assamese",
+    ay => "Aymara",
+    az => "Azerbaijani",
+    ba => "Bashkir",
+    be => "Belarusian",
+    bg => "Bulgarian",
+    bh => "Bihari",
+    bi => "Bislama",
+    bn => "Bengali",
+    bo => "Tibetan",
+    br => "Breton",
+    bs => "Bosnian",
+    ca => "Catalan",
+    ce => "Chechen",
+    ch => "Chamorro",
+    co => "Corsican",
+    cs => "Czech",
+    cu => "Church Slavic",
+    cv => "Chuvash",
+    cy => "Welsh",
+    da => "Danish",
+    de => "German",
+    dz => "Dzongkha",
+    el => "Greek",
+    en => "English",
+    eo => "Esperanto",
+    es => "Spanish",
+    et => "Estonian",
+    eu => "Basque",
+    fa => "Persian",
+    fi => "Finnish",
+    fj => "Fijian",
+    fo => "Faeroese",
+    fr => "French",
+    fy => "Frisian",
+    ga => "Irish",
+    gd => "Gaelic (Scots)",
+    gl => "Gallegan",
+    gn => "Guarani",
+    gu => "Gujarati",
+    gv => "Manx",
+    ha => "Hausa",
+    he => "Hebrew",
+    hi => "Hindi",
+    ho => "Hiri Motu",
+    hr => "Croatian",
+    hu => "Hungarian",
+    hy => "Armenian",
+    hz => "Herero",
+    ia => "Interlingua",
+    id => "Indonesian",
+    ie => "Interlingue",
+    ik => "Inupiaq",
+    is => "Icelandic",
+    it => "Italian",
+    iu => "Inuktitut",
+    ja => "Japanese",
+    jw => "Javanese",
+    ka => "Georgian",
+    ki => "Kikuyu",
+    kj => "Kuanyama",
+    kk => "Kazakh",
+    kl => "Kalaallisut",
+    km => "Khmer",
+    kn => "Kannada",
+    ko => "Korean",
+    ks => "Kashmiri",
+    ku => "Kurdish",
+    kv => "Komi",
+    kw => "Cornish",
+    ky => "Kirghiz",
+    la => "Latin",
+    lb => "Letzeburgesch",
+    ln => "Lingala",
+    lo => "Lao",
+    lt => "Lithuanian",
+    lv => "Latvian",
+    mg => "Malagasy",
+    mh => "Marshall",
+    mi => "Maori",
+    # Sorry, lads, but that is what M$ calls your language ...
+    mk => "FYRO Macedonian",
+    ml => "Malayalam",
+    mn => "Mongolian",
+    mo => "Moldavian",
+    mr => "Marathi",
+    ms => "Malay",
+    mt => "Maltese",
+    my => "Burmese",
+    na => "Nauru",
+    nb => "Norwegian (Bokmål)",
+    nd => "Ndebele, North",
+    ne => "Nepali",
+    ng => "Ndonga",
+    nl => "Dutch",
+    nn => "Norwegian-Nynorsk",
+    no => "Norwegian-Nynorsk",
+    nr => "Ndebele, South",
+    nv => "Navajo",
+    ny => "Chichewa",
+    oc => "Occitan (post 1500)",
+    om => "Oromo",
+    or => "Oriya",
+    os => "Ossetian",
+    pa => "Panjabi",
+    pi => "Pali",
+    pl => "Polish",
+    ps => "Pushto",
+    pt => "Portuguese",
+    qu => "Quechua",
+    rm => "Rhaeto-Romance",
+    rn => "Rundi",
+    ro => "Romanian",
+    ru => "Russian",
+    rw => "Kinyarwanda",
+    sa => "Sanskrit",
+    sc => "Sardinian",
+    sd => "Sindhi",
+    se => "Sami",
+    sg => "Sango",
+    si => "Sinhalese",
+    sk => "Slovak",
+    sl => "Slovenian",
+    sm => "Samoan",
+    sn => "Shona",
+    so => "Somali",
+    sq => "Albanian",
+    sr => "Serbian",
+    ss => "Swati",
+    st => "Sotho",
+    su => "Sundanese",
+    sv => "Swedish",
+    sw => "Swahili",
+    ta => "Tamil",
+    te => "Telugu",
+    tg => "Tajik",
+    th => "Thai",
+    ti => "Tigrinya",
+    tk => "Turkmen",
+    tl => "Tagalog",
+    tn => "Tswana",
+    to => "Tonga",
+    tr => "Turkish",
+    ts => "Tsonga",
+    tt => "Tatar",
+    tw => "Twi",
+    ug => "Uighur",
+    uk => "Ukrainian",
+    ur => "Urdu",
+    uz => "Uzbek",
+    vi => "Vietnamese",
+    vo => "Volapuk",
+    wo => "Wolof",
+    xh => "Xhosa",
+    yi => "Yiddish",
+    yo => "Yoruba",
+    za => "Zhuang",
+    zh => "Chinese",
+    zu => "Zulu",
+};
+
+use constant WIN32COUNTRY => {
+    ad => "Andorra",
+    ae => "United Arab Emirates",
+    af => "Afghanistan",
+    ag => "Antigua and Barbuda",
+    ai => "Anguilla",
+    al => "Albania",
+    am => "Armenia",
+    an => "Netherlands Antilles",
+    ao => "Angola",
+    aq => "Antarctica",
+    ar => "Argentina",
+    as => "American Samoa",
+    at => "Austria",
+    au => "Australia",
+    aw => "Aruba",
+    ax => "Aland Islands",
+    az => "Azerbaijan",
+    ba => "Bosnia and Herzegovina",
+    bb => "Barbados",
+    bd => "Bangladesh",
+    be => "Belgium",
+    bf => "Burkina Faso",
+    bg => "Bulgaria",
+    bh => "Bahrain",
+    bi => "Burundi",
+    bj => "Benin",
+    bm => "Bermuda",
+    bn => "Brunei Darussalam",
+    bo => "Bolivia",
+    br => "Brazil",
+    bs => "Bahamas",
+    bt => "Bhutan",
+    bv => "Bouvet Island",
+    bw => "Botswana",
+    by => "Belarus",
+    bz => "Belize",
+    ca => "Canada",
+    cc => "Cocos (Keeling) Islands",
+    cd => "Congo, The Democratic Republic of the",
+    cf => "Central African Republic",
+    cg => "Congo",
+    ch => "Switzerland",
+    ci => "Cote D'Ivoire",
+    ck => "Cook Islands",
+    cl => "Chile",
+    cm => "Cameroon",
+    cn => "China",
+    co => "Colombia",
+    cr => "Costa Rica",
+    cs => "Serbia and Montenegro",
+    cu => "Cuba",
+    cv => "Cape Verde",
+    cx => "Christmas Island",
+    cy => "Cyprus",
+    cz => "Czech Republic",
+    de => "Germany",
+    dj => "Djibouti",
+    dk => "Denmark",
+    dm => "Dominica",
+    do => "Dominican Republic",
+    dz => "Algeria",
+    ec => "Ecuador",
+    ee => "Estonia",
+    eg => "Egypt",
+    eh => "Western Sahara",
+    er => "Eritrea",
+    es => "Spain",
+    et => "Ethiopia",
+    fi => "Finland",
+    fj => "Fiji",
+    fk => "Falkland Islands (Malvinas)",
+    fm => "Micronesia, Federated States of",
+    fo => "Faroe Islands",
+    fr => "France",
+    fx => "France, Metropolitan",
+    ga => "Gabon",
+    gb => "United Kingdom",
+    gd => "Grenada",
+    ge => "Georgia",
+    gf => "French Guiana",
+    gh => "Ghana",
+    gi => "Gibraltar",
+    gl => "Greenland",
+    gm => "Gambia",
+    gn => "Guinea",
+    gp => "Guadeloupe",
+    gq => "Equatorial Guinea",
+    gr => "Greece",
+    gs => "South Georgia and the South Sandwich Islands",
+    gt => "Guatemala",
+    gu => "Guam",
+    gw => "Guinea-Bissau",
+    gy => "Guyana",
+    hk => "Hong Kong",
+    hm => "Heard Island and McDonald Islands",
+    hn => "Honduras",
+    hr => "Croatia",
+    ht => "Haiti",
+    hu => "Hungary",
+    id => "Indonesia",
+    ie => "Ireland",
+    il => "Israel",
+    in => "India",
+    io => "British Indian Ocean Territory",
+    iq => "Iraq",
+    ir => "Iran",
+    is => "Iceland",
+    it => "Italy",
+    jm => "Jamaica",
+    jo => "Jordan",
+    jp => "Japan",
+    ke => "Kenya",
+    kg => "Kyrgyzstan",
+    kh => "Cambodia",
+    ki => "Kiribati",
+    km => "Comoros",
+    kn => "Saint Kitts and Nevis",
+    kp => "North-Korea",
+    kr => "Korea",
+    kw => "Kuwait",
+    ky => "Cayman Islands",
+    kz => "Kazakhstan",
+    la => "Laos",
+    lb => "Lebanon",
+    lc => "Saint Lucia",
+    li => "Liechtenstein",
+    lk => "Sri Lanka",
+    lr => "Liberia",
+    ls => "Lesotho",
+    lt => "Lithuania",
+    lu => "Luxembourg",
+    lv => "Latvia",
+    ly => "Libyan",
+    ma => "Morocco",
+    mc => "Monaco",
+    md => "Moldova",
+    mg => "Madagascar",
+    mh => "Marshall Islands",
+    mk => "Former Yugoslav Republic of Macedonia",
+    ml => "Mali",
+    mm => "Myanmar",
+    mn => "Mongolia",
+    mo => "Macao",
+    mp => "Northern Mariana Islands",
+    mq => "Martinique",
+    mr => "Mauritania",
+    ms => "Montserrat",
+    mt => "Malta",
+    mu => "Mauritius",
+    mv => "Maldives",
+    mw => "Malawi",
+    mx => "Mexico",
+    my => "Malaysia",
+    mz => "Mozambique",
+    na => "Namibia",
+    nc => "New Caledonia",
+    ne => "Niger",
+    nf => "Norfolk Island",
+    ng => "Nigeria",
+    ni => "Nicaragua",
+    nl => "Netherlands",
+    no => "Norway",
+    np => "Nepal",
+    nr => "Nauru",
+    nu => "Niue",
+    nz => "New Zealand",
+    om => "Oman",
+    pa => "Panama",
+    pe => "Peru",
+    pf => "French Polynesia",
+    pg => "Papua New Guinea",
+    ph => "Philippines",
+    pk => "Pakistan",
+    pl => "Poland",
+    pm => "Saint Pierre and Miquelon",
+    pn => "Pitcairn",
+    pr => "Puerto Rico",
+    ps => "Palestinian Territory, Occupied",
+    pt => "Portugal",
+    pw => "Palau",
+    py => "Paraguay",
+    qa => "Qatar",
+    re => "Reunion",
+    ro => "Romania",
+    ru => "Russian Federation",
+    rw => "Rwanda",
+    sa => "Saudi Arabia",
+    sb => "Solomon Islands",
+    sc => "Seychelles",
+    sd => "Sudan",
+    se => "Sweden",
+    sg => "Singapore",
+    sh => "Saint Helena",
+    si => "Slovenia",
+    sj => "Svalbard and Jan Mayen",
+    sk => "Slovakia",
+    sl => "Sierra Leone",
+    sm => "San Marino",
+    sn => "Senegal",
+    so => "Somalia",
+    sr => "Suriname",
+    st => "Sao Tome and Principe",
+    sv => "El Salvador",
+    sy => "Syrian Arab Republic",
+    sz => "Swaziland",
+    tc => "Turks and Caicos Islands",
+    td => "Chad",
+    tf => "French Southern Territories",
+    tg => "Togo",
+    th => "Thailand",
+    tj => "Tajikistan",
+    tk => "Tokelau",
+    tl => "Timor-Leste",
+    tm => "Turkmenistan",
+    tn => "Tunisia",
+    to => "Tonga",
+    tr => "Turkey",
+    tt => "Trinidad and Tobago",
+    tv => "Tuvalu",
+    tw => "Taiwan, Province of China",
+    tz => "Tanzania, United Republic of",
+    ua => "Ukraine",
+    ug => "Uganda",
+    um => "United States Minor Outlying Islands",
+    us => "United States",
+    uy => "Uruguay",
+    uz => "Uzbekistan",
+    va => "Holy See (Vatican City State)",
+    vc => "Saint Vincent and the Grenadines",
+    ve => "Venezuela",
+    vg => "Virgin Islands, British",
+    vi => "Virgin Islands, U.S.",
+    vn => "Vietnam",
+    vu => "Vanuatu",
+    wf => "Wallis and Futuna",
+    ws => "Samoa",
+    ye => "Yemen",
+    yt => "Mayotte",
+    za => "South Africa",
+    zm => "Zambia",
+    zw => "Zimbabwe",
+};
+
+my $locale_cache;
+
+sub parse_http_accept_language {
+       my ($string) = @_;
+
+       my @tokens = split / *, */, $string;
+       
+       my %retval;
+       foreach my $token (@tokens) {
+               my $quality = 1;
+               # This RE is more forgiving than the standard.  It accepts
+               # values greater than 1.0 and with more fractional digits
+               # than 3.
+               if ($token =~ s/ *; *q *= *([0-9]+(?:\.([0-9]+))?)$//) {
+                       $quality = $1;
+               }
+               $retval{$token} = $quality;
+       }
+
+       # RFC 2616 only allows 1-8 characters for language and country
+       # but we are more forgiving.
+       return grep { 
+               /^[A-Za-z]+(?:-[A-Za-z]+)?$/
+               } map {
+                       $_ = 'C' if $_ eq '*'; $_
+               }       sort { 
+                       $retval{$b} <=> $retval{$a} 
+               } keys %retval;
+}
+
+sub parse_http_accept_charset {
+       my ($string) = @_;
+
+       my @tokens = split / *, */, $string;
+       
+       my %retval;
+       foreach my $token (@tokens) {
+               my $quality = 1;
+               # This RE is more forgiving than the standard.  It accepts
+               # values greater than 1.0 and with more fractional digits
+               # than 3.
+               if ($token =~ s/ *; *q *= *([0-9]+(?:\.([0-9]+))?)$//) {
+                       $quality = $1;
+               }
+               $retval{$token} = $quality;
+       }
+
+       return grep { 
+               # This is really allowed in character set names ...
+               /^[-!\#\$\%\&\'\+\.0-9A-Z_\`a-z\|\~]+$/
+               } map {
+                       $_ = undef if $_ eq '*'; $_
+               }       sort { 
+                       $retval{$b} <=> $retval{$a} 
+               } keys %retval;
+}
+
+sub set_locale {
+       my ($category, $language, $country, $charset) = @_;
+       
+       require POSIX;
+
+    $country = '' unless defined $country;
+    $charset = '' unless defined $charset;
+    
+       my $set_locale;
+       # Look up the cache first.
+    if (my $retval = $locale_cache->{$language}->{$country}->{$charset}) {
+       my ($locale, $country) = @$retval;
+       POSIX::setlocale ($category, $locale);
+        return @$retval;
+    }
+
+       # Initialize the cache with the undefined value so that we can do
+       # error returns without setting it.
+       $locale_cache->{$language}->{$country}->{$charset} = undef;
+
+       my $windows = ($^O !~ /darwin/i && $^O =~ /win/i) ? 1 : 0;
+       if ($windows) {
+               return &__set_locale_windows;
+       }
+       
+       my $set_language;
+       my $set_country;
+
+       # First we try to only use the language.
+       my @languages = ($language);
+       my @lc_languages = map { lc $_ } @languages;
+       my @uc_languages = map { uc $_ } @languages;
+       my %seen = ();
+
+       foreach my $language (@languages, @lc_languages, @uc_languages) {
+               next if $seen{$language}++;
+               warn "Trying lingua only setlocale '$language'.\n" if DEBUG;
+               my $result = POSIX::setlocale ($category, $language);
+               if ($result) {
+                       $set_locale = $set_language = $result if $result;
+                       last;
+               }
+       }
+
+       # Now try it with the country appended.
+       my @countries = length $country ? ($country) : ();
+       my @uc_countries = map { uc $_ } @countries;
+       my @lc_countries = map { uc $_ } @countries;
+       push @countries, @uc_countries, @lc_countries;
+ 
+ LINGUA: foreach my $language (@languages, @lc_languages, @uc_languages) {
+               my $count = 0;
+               my @guessed_countries = (LANG2COUNTRY->{lc $language},
+                                                                lc 
LANG2COUNTRY->{lc $language},
+                                                                uc 
LANG2COUNTRY->{lc $language});
+               foreach my $c (@countries, @guessed_countries) {
+                       ++$count;
+                       next unless defined $c && length $c;
+                       my $try = $language . '_' . $c;
+                       next if $seen{$try}++;
+                       warn "Trying setlocale '$try'.\n" if DEBUG;
+                       my $result = POSIX::setlocale ($category, $try);
+                       if ($result) {
+                               $set_locale = $result;
+                               if ($count >= @countries) {
+                                       $set_country = $c; 
+                               } else {
+                                       $set_country = $country;
+                               }
+
+                               last LINGUA;
+                       }
+               }
+       }
+       
+       unless (length $charset) {
+               return unless defined $set_locale && length $set_locale;
+               
+               $locale_cache->{$language}->{$country}->{$charset} = 
+                       [$set_locale, $set_country];
+               return wantarray ? ($set_locale, $set_country) : $set_locale;
+       }
+       
+       my @charsets = ($charset);
+       my $cleaned = $charset;
+       push @charsets, $cleaned if $cleaned =~ s/-//g;
+       my @lc_charsets = map { lc $charset } @charsets;
+       my @uc_charsets = map { uc $charset } @charsets;
+       push @charsets, @lc_charsets, @uc_charsets;
+       
+       %seen = ();
+ LINGUA2: foreach my $language (@languages, 
+                                                               @lc_languages, 
@uc_languages) {
+            my @guessed_countries = (LANG2COUNTRY->{lc $language},
+                                                                lc 
LANG2COUNTRY->{lc $language},
+                                                                uc 
LANG2COUNTRY->{lc $language});
+            my $count = 0;
+                foreach my $c (@countries, @guessed_countries) {
+                        ++$count;
+                        $c = '' unless defined $c && length $c;
+                        my $country_try = $language;
+                        $country_try .= (length $c) ? "_$c" : '';
+                        
+                        foreach my $ch (@charsets, @lc_charsets, @uc_charsets) 
{
+                                my $try = $country_try . '.' . $ch;
+                                next if $seen{$try}++;
+                                warn "Trying setlocale '$try'.\n" if DEBUG;
+                                
+                                my $result = POSIX::setlocale ($category, 
$try);
+                                if ($result) {
+                                        $set_locale = $result;
+                                        if ($count >= @countries) {
+                                                $set_country = $c; 
+                                        } else {
+                                                $set_country = $country;
+                                        }
+                                        
+                                        last LINGUA2;
+                                }
+                        }
+                } 
+        }
+
+       return unless defined $set_locale && length $set_locale;
+
+       $locale_cache->{$language}->{$country}->{$charset} = 
+               [$set_locale, $set_country];
+
+       return wantarray ? ($set_locale, $set_country) : $set_locale;
+}
+
+sub __set_locale_windows {
+       my ($category, $language, $country, $charset) = @_;
+
+    my $set_locale;
+
+    $country = '' unless defined $country;
+    $charset = '' unless defined $charset;
+       
+       # First we try to only use the language.
+       my $long_language = WIN32LANGUAGE->{lc $language};
+       my @languages = ($long_language, $language);
+       my %seen = ();
+       foreach my $language (@languages) {
+               next if $seen{$language}++;
+               warn "Trying lingua only setlocale '$language'.\n" if DEBUG;
+               my $result = POSIX::setlocale ($category, $language);
+               if ($result) {
+                       $set_locale = $result if $result;
+                       last;
+               }
+       }
+       
+       # Now try it with the country appended.
+       my $set_country;
+       if (length $country) {
+        COMBI: foreach my $language (@languages) {
+            # We do not need a fallback country here, because the "system" 
already
+            # provides the information.
+               my @short_countries = ($country);
+                   my @countries = map { 
+                           WIN32COUNTRY->{lc $_} 
+                           } grep { length $_ } @short_countries;
+                   foreach my $c (@countries) {
+                           next unless defined $c && length $c;
+                           my $try = $language . '_' . $c;
+                           next if $seen{$try}++;
+                           warn "Trying setlocale '$try'.\n" if DEBUG;
+                           my $result = POSIX::setlocale ($category, $try);
+                           if ($result) {
+                                   $set_locale = $result;
+                                       $set_country = $c;
+                                   last COMBI;
+                           }
+                   }
+           }
+       }
+
+       return unless defined $set_locale && length $set_locale;
+
+    # Apparently, there is no point in setting a charset.  Even the new
+    # MS-DOS versions like 2000 or XP still have the concept of more or
+    # less fixed codepages.  Switching to UTF-8 does not work.
+       $locale_cache->{$language}->{$country}->{$charset} = 
+               [$set_locale, $set_country];
+       return wantarray ? ($set_locale, $set_country) : $set_locale;
+}
+
+sub get_locale_cache {
+       $locale_cache;
+}
+
+sub set_locale_cache {
+       if (ref $_[0] && 'HASH' eq ref $_[0]) {
+               $locale_cache = $_[0];
+    } else {
+               my %locale_cache = @_;
+               $locale_cache = \%locale_cache;
+       }
+}
+
+sub web_set_locale {
+       my ($accept_language, $accept_charset, $category, $available) = @_;
+
+       my %available;
+       if ($available) {
+               foreach (@$available) {
+                       my $locale = $_;
+                       $locale =~ s/address@hidden//;
+                       $available{lc $locale} = 1;
+               }
+       }
+
+       my @languages;
+       if (ref $accept_language && 'ARRAY' eq ref $accept_language) {
+               @languages = @$accept_language;
+       } else {
+               @languages = parse_http_accept_language $accept_language;
+       }
+
+       if ($available) {
+               my @all = @languages;
+               @languages = ();
+               foreach my $locale (@all) {
+                       my $language = lc $locale;
+                       $language =~ s/address@hidden//;
+                       push @languages, $locale if $available{$language};
+               }
+       }
+
+       my @charsets;
+       if (defined $accept_charset) {
+               if (ref $accept_charset && 'ARRAY' eq ref $accept_charset) {
+                       @charsets = @$accept_charset;
+               } else {
+                       @charsets = parse_http_accept_charset $accept_charset;
+               }
+       }
+
+       unless (defined $category) {
+               require POSIX;
+               $category = POSIX::LC_ALL();
+       }
+
+       my ($set_locale, $set_language, $set_country, $set_charset);
+       foreach my $lang (@languages) {
+               my ($language, $country) = split /-/, $lang, 2;
+
+               my ($locale, $country_used) = 
+                       set_locale ($category, $language, $country, 
$charsets[0]);
+               
+               if (defined $locale) {
+                       # If a country was specified, we have to check whether 
it
+                       # was actually selected.
+                       if (defined $country) {
+                               if (!defined $country
+                                       || ($country ne $country_used)) {
+                                       $set_language = $language;
+                                       $set_locale = $locale;
+                                       $set_country = $country_used;
+                                       $set_charset = $charsets[0];
+                               }
+                       }
+
+                       if (wantarray) {
+                               return $locale, $lang, $country_used, 
$charsets[0];
+                       } else {
+                               return $locale;
+                       }
+               }
+       }
+       
+       if (defined $set_locale) {
+               if (wantarray) {
+                       return $set_locale, $set_language, $set_country, 
$set_charset;
+               } else {
+                       return $set_locale;
+               }
+       }
+
+       return;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::Util - Portable l10n and i10n functions
+
+=head1 SYNOPSIS
+
+  use Locale::Util;
+
+  my @linguas = parse_http_accept_language $ENV{HTTP_ACCEPT_LANGUAGE};
+
+  my @charsets = parse_http_accept_charset $ENV{HTTP_ACCEPT_CHARSET};
+
+  # Trie to set the locale to Brasilian Portuguese in UTF-8.
+  my $set_locale = set_locale LC_ALL, 'pt', 'BR', 'utf-8';
+
+  set_locale_cache $last_cache;
+  
+  my $cache = get_locale_cache;
+
+  web_set_locale ($ENV{HTTP_ACCEPT_LANGUAGE}, $ENV_ACCEPT_CHARSET);
+
+  web_set_locale (['fr-BE', 'fr', 'it'], ['cp1252', 'utf-8']);
+
+=head1 DESCRIPTION
+
+This module provides portable functions dealing with localization
+(l10n) and internationalization(i10n).  It doesn't export anything
+by default, you have to specify each function you need in the import
+list, or use the fully qualified name.
+
+The functions here have a focus on web development, although they 
+are general enough to have them in the Locale:: namespace.
+
+This module is considered alpha code.  The interface is not stable.
+Please contact the author if you want to use it in production code.
+
+This module was introduced in libintl-perl 1.17.
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item B<parse_http_accept_language STRING>
+
+Parses a string as passed in the HTTP header "Accept-Language".
+It returns a list of tokens sorted by the quality value, see RFC 2616 
+for details.
+
+Example:
+
+  parse_http_accept ("fr-fr, fr; q=0.7, de; q=0.3");
+
+This means: Give me French for France with a quality value of 1.0
+(the maximum).  Otherwise I will take any other French version 
+(quality 0.7), German has a quality of 0.3 for me.
+
+The function will return a list of tokens in the order of their quality
+values, in this case "fr-fr", "fr" and "de".
+
+The function is more forgiving than RFC 2616.  It accepts quality
+values greater than 1.0 and with more than 3 decimal places.  It
+also accepts languages and country names with more than 8 characters.
+The language "*" is translated into "C".
+
+=item B<parse_http_accept_charset STRING>
+
+Parses a string as passed in the HTTP header "Accept-Charset".
+It returns a list of tokens sorted by the quality value, see RFC 2616 
+for details.
+
+The special character set "*" (means all character sets) will be
+translated to the undefined value.
+
+=item B<set_locale CATEGORY, LANGUAGE[, COUNTRY, CHARSET]>
+
+Tries to set the user locale by means of POSIX::setlocale().  The latter
+function has the disadvantage, that its second argument (the locale
+description string) is completely non-standard and system-dependent.
+This function tries its best at guessing the system's notion of a locale
+dientifier, with the arguments supplied:
+
+=over 8
+
+=item B<CATEGORY>
+
+An integer argument for a valid locale category.  These are the
+LC_* constants (LC_ALL, LC_CTIME, LC_COLLATE, ...) defined in both
+Locale::Messages(3pm) and POSIX(3pm).
+
+=item B<LANGUAGE>
+
+A 2-letter language identifier as per ISO 639.  Case doesn't matter,
+but an unchanged version (ie. not lower-cased) of the language you
+provided will always be tried to.
+
+=item B<COUNTRY>
+
+A 2-letter language identifier as per ISO 639.  Case doesn't matter,
+but an unchanged version (ie. not lower-cased) of the language you
+provided will always be tried to.
+
+This parameter is optional.  If it is not defined, the function will
+try to guess an appropriate country, otherwise leave it to the 
+operating system.
+
+=item B<CHARSET>
+
+A valid charset name.  Valid means valid!  The charset "utf8" is not
+valid (it is "utf-8").  Charset names that are accepted by the
+guessing algorithms in Encode(3pm) are also not necessarily valid.
+
+If the parameter is undefined, it is ignored.  It is always ignored
+under Windows.
+
+=back
+
+The function tries to approach the desired locale in loops, refining
+it on every success.  It will first try to set the language (for 
+any country), then try to select the correct language, and finally
+try to select the correct charset.
+
+The return value is false in case of failure, or the return value
+of the underlying POSIX::setlocale() call in case of success.
+
+In array context, the function returns the country name 
+that was passed in the successful
+call to POSIX::setlocale().  If this string is equal to the country
+name you passed as an argument, you can be reasonably sure that
+the settings for this country are really used.  If it is not
+equal, the function has taken a guess at the country (it has a list
+of "default" countries for each language).  It seems that under
+Windows, POSIX::setlocale() also succeeds, if you pass a country
+name that is actually not supported.  Therefore, the information
+is not completely reliable.
+
+Please note that this function is intended for server processes 
+(especially web applications) that need to switch in a portable
+way to a certain locale.  It is B<not> the recommended way to set 
+the program locale for a regular application.  In a regular application
+you should do the following:
+
+    use POSIX qw (setlocale LC_ALL);
+    setlocale LC_ALL, '';
+
+The empty string as the second argument means, that the system
+should switch to the user's default locale.
+
+=item B<get_locale_cache>
+
+The function set_locale() is potentially expansive, especially when
+it fails, because it can try a lot of different combinations, and 
+the system may have to load a lot of locale definitions from its
+internal database.
+
+In order to speed up things, results are internally cached in a 
+hash, keys are the languages, subkeys countries, subsubkeys the
+charsets.  You can get a reference to this hash with get_locale_cache().
+
+The function cannot fail.
+
+=item B<set_locale_cache HASH>
+
+Sets the internal cache.  You can either pass a hash or a hash reference.
+The function will use this as its cache, discarding its old cache.
+This allows you to keep the hash persistent.
+
+The function cannot fail.
+
+=item B<web_set_locale (ACCEPT_LANGUAGE, ACCEPT_CHARSET, CATEGORY,
+                        AVAILABLE)>
+
+Try to change the locale to the settings described by ACCEPT_LANGUAGE
+and ACCEPT_CHARSET.  For each argument you can either pass a string
+as in the corresponding http header, or a reference to an array
+of language resp. charset identifiers.
+
+Currently only the first charset passed is used as an argument.
+You are strongly encouraged to pass a hard-coded value here, so
+that you have control about your output.
+
+The argument B<CATEGORY> specifies the category (one of the LC_*
+constants as defined in Locale::Messages(3pm) or in POSIX(3pm)).
+The category defaults to LC_ALL.
+
+You can pass an optional reference to a list of locales in 
+XPG4 format that are available in your application.  This is
+useful if you know which languages are supported by your application.
+In fact, only the language part of the values in the list are
+considered (for example for "en_US", only "en" is used).  The
+country or other parts are ignored.
+
+The function returns the return value of the underlying set_locale()
+call, or false on failure.
+
+The function returns false on failure.  On success it returns the 
+return value of the underlying set_locale() call.  This value can
+be used directly in subsequent calls to POSIX::setlocale().  In 
+array context, it additionally returns the identifiers for the language, 
+the country, and the charset actually used.
+
+=back
+
+=head1 BUGS
+
+The function set_locale() probably fails to guess the correct locale
+identifier on a lot of systems.  If you have found such a case,
+please submit it as a bug report.
+
+The bug tracking system for this packags is at
+http://rt.cpan.org/NoAuth/Bugs.html?libintl-perl
+
+Please note that this module is considered alpha code, and the interface
+is not stable.  Please contact the author, if you want to use it in
+production code.
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+POSIX(3pm), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/gettext_pp.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/gettext_pp.pm
diff -N maintain/lib/libintl-perl/lib/Locale/gettext_pp.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/gettext_pp.pm  12 Oct 2011 23:51:27 
-0000      1.1
@@ -0,0 +1,1031 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: gettext_pp.pm,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# Pure Perl implementation of Uniforum message translation.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+
+package Locale::gettext_pp;
+
+use strict;
+
+require 5.004;
+
+use vars qw ($__gettext_pp_default_dir 
+                        $__gettext_pp_textdomain
+                        $__gettext_pp_domain_bindings
+                        $__gettext_pp_domain_codeset_bindings
+                        $__gettext_pp_domains
+                        $__gettext_pp_recoders
+                        $__gettext_pp_unavailable_dirs
+                        $__gettext_pp_domain_cache
+                        $__gettext_pp_alias_cache
+                        $__gettext_pp_context_glue);
+
+use locale;
+
+BEGIN {
+       $__gettext_pp_textdomain = 'messages';
+       $__gettext_pp_domain_bindings = {};
+       $__gettext_pp_domain_codeset_bindings = {};
+       $__gettext_pp_domains = {};
+       $__gettext_pp_recoders = {};
+       $__gettext_pp_unavailable_dirs = {};
+       $__gettext_pp_domain_cache = {};
+       $__gettext_pp_alias_cache = {};
+       # The separator between msgctxt and msgid in a .mo file.  */
+       $__gettext_pp_context_glue = "\004";
+       
+       $__gettext_pp_default_dir = '';
+       
+       for my $dir (qw (/usr/share/locale /usr/local/share/locale)) {
+               if (-d $dir) {
+                       $__gettext_pp_default_dir = $dir;
+                       last;
+               }
+       }
+}
+
+BEGIN {
+               require POSIX;
+               require Exporter;
+               use IO::Handle;
+               require Locale::Recode;
+
+               local $@;
+               my ($has_messages, $five_ok);
+               
+               $has_messages = eval '&POSIX::LC_MESSAGES';
+
+               unless (defined $has_messages && length $has_messages) {
+                               $five_ok = ! grep {my $x = eval "&POSIX::$_" || 
0; $x eq '5';}
+                                                               qw (LC_CTYPE
+                                                                  LC_NUMERIC
+                                                                  LC_TIME
+                                                                  LC_COLLATE
+                                                                  LC_MONETARY
+                                                                  LC_ALL);
+                       if ($five_ok) {
+                               $five_ok = POSIX::setlocale (5, '');
+                       }
+               }
+               
+               if (defined $has_messages && length $has_messages) {
+eval <<'EOF';
+sub LC_MESSAGES()
+{
+       local $!; # Do not clobber errno!
+       
+       return &POSIX::LC_MESSAGES;
+}
+EOF
+               } elsif ($five_ok) {
+eval <<'EOF';
+sub LC_MESSAGES()
+{
+       local $!; # Do not clobber errno!
+
+       # Hack: POSIX.pm deems LC_MESSAGES an invalid macro until
+       # Perl 5.8.0.  However, on LC_MESSAGES should be 5 ...
+       return 5;
+}
+EOF
+               } else {
+eval <<'EOF';
+sub LC_MESSAGES()
+{
+       local $!; # Do not clobber errno!
+
+       # This fallback value is widely used,
+       # when LC_MESSAGES is not available.
+       return 1729;
+}
+EOF
+               }
+}
+
+use vars qw (%EXPORT_TAGS @EXPORT_OK @ISA $VERSION);
+
+%EXPORT_TAGS = (locale_h => [ qw (
+                                                                 gettext
+                                                                 dgettext
+                                                                 dcgettext
+                                                                 ngettext
+                                                                 dngettext
+                                                                 dcngettext
+                                                                 pgettext
+                                                                 dpgettext
+                                                                 dcpgettext
+                                                                 npgettext
+                                                                 dnpgettext
+                                                                 dcnpgettext
+                                                                 textdomain
+                                                                 bindtextdomain
+                                                                 
bind_textdomain_codeset
+                                                                 )
+                                                         ],
+                               libintl_h => [ qw (LC_CTYPE
+                                                                  LC_NUMERIC
+                                                                  LC_TIME
+                                                                  LC_COLLATE
+                                                                  LC_MONETARY
+                                                                  LC_MESSAGES
+                                                                  LC_ALL)
+                                                          ],
+                               );
+
address@hidden = qw (gettext
+                                dgettext
+                                dcgettext
+                                ngettext
+                                dngettext
+                                dcngettext
+                                pgettext
+                                dpgettext
+                                dcpgettext
+                                npgettext
+                                dnpgettext
+                                dcnpgettext
+                                textdomain
+                                bindtextdomain
+                                bind_textdomain_codeset
+                 nl_putenv
+                                LC_CTYPE
+                                LC_NUMERIC
+                                LC_TIME
+                                LC_COLLATE
+                                LC_MONETARY
+                                LC_MESSAGES
+                                LC_ALL);
address@hidden = qw (Exporter);
+
+my $has_nl_langinfo;
+
+sub __load_catalog;
+sub __load_domain;
+sub __locale_category;
+
+sub LC_NUMERIC()
+{
+       &POSIX::LC_NUMERIC;
+}
+
+sub LC_CTYPE()
+{
+       &POSIX::LC_CTYPE;
+}
+
+sub LC_TIME()
+{
+       &POSIX::LC_TIME;
+}
+
+sub LC_COLLATE()
+{
+       &POSIX::LC_COLLATE;
+}
+
+sub LC_MONETARY()
+{
+       &POSIX::LC_MONETARY;
+}
+
+sub LC_ALL()
+{
+       &POSIX::LC_ALL;
+}
+
+sub textdomain(;$)
+{
+       my $new_domain = shift;
+       
+       $__gettext_pp_textdomain = $new_domain if defined $new_domain && 
+               length $new_domain;
+       
+       return $__gettext_pp_textdomain;
+}
+
+sub bindtextdomain($;$)
+{
+       my ($domain, $directory) = @_;
+
+       my $retval;     
+       if (defined $domain && length $domain) {
+               if (defined $directory && length $directory) {
+                       $retval = $__gettext_pp_domain_bindings->{$domain} 
+                               = $directory;
+               } elsif (exists $__gettext_pp_domain_bindings->{$domain}) {
+                       $retval = $__gettext_pp_domain_bindings->{$domain};
+               } else {
+                       $retval = $__gettext_pp_default_dir;
+               }
+               $retval = '/usr/share/locale' unless defined $retval && 
+                       length $retval;
+               return $retval;
+       } else {
+               return;
+       }
+}
+
+sub bind_textdomain_codeset($;$)
+{
+       my ($domain, $codeset) = @_;
+       
+       if (defined $domain && length $domain) {
+               if (defined $codeset && length $codeset) {
+                       return $__gettext_pp_domain_codeset_bindings->{$domain} 
= $codeset;
+               } elsif (exists 
$__gettext_pp_domain_codeset_bindings->{$domain}) {
+                       return $__gettext_pp_domain_codeset_bindings->{$domain};
+               }
+       }
+       
+       return;
+}
+
+sub gettext($)
+{
+       my ($msgid) = @_;
+
+       return dcnpgettext ('', undef, $msgid, undef, undef, undef);
+}
+
+sub dgettext($$)
+{
+       my ($domainname, $msgid) = @_;
+
+       return dcnpgettext ($domainname, undef, $msgid, undef, undef, undef);
+}
+
+sub dcgettext($$$)
+{
+       my ($domainname, $msgid, $category) = @_;
+
+       return dcnpgettext ($domainname, undef, $msgid, undef, undef, undef);
+}
+
+sub ngettext($$$)
+{
+       my ($msgid, $msgid_plural, $n) = @_;
+
+       return dcnpgettext ('', undef, $msgid, $msgid_plural, $n, undef);
+}
+
+sub dngettext($$$$)
+{
+       my ($domainname, $msgid, $msgid_plural, $n) = @_;
+
+       return dcnpgettext ($domainname, undef, $msgid, $msgid_plural, $n, 
undef);
+}
+
+sub dcngettext($$$$$)
+{
+       my ($domainname, $msgid, $msgid_plural, $n, $category) = @_;
+
+       return dcnpgettext ($domainname, undef, $msgid, $msgid_plural, $n, , 
$category);
+}
+
+
+sub pgettext($$)
+{
+       my ($msgctxt, $msgid) = @_;
+
+       return dcnpgettext ('', $msgctxt, $msgid, undef, undef, undef);
+}
+
+sub dpgettext($$$)
+{
+       my ($domainname, $msgctxt, $msgid) = @_;
+
+       return dcnpgettext ($domainname, $msgctxt, $msgid, undef, undef, undef);
+}
+
+sub dcpgettext($$$$)
+{
+       my ($domainname, $msgctxt, $msgid, $category) = @_;
+
+       return dcnpgettext ($domainname, $msgctxt, $msgid, undef, undef, undef);
+}
+
+sub npgettext($$$$)
+{
+       my ($msgctxt, $msgid, $msgid_plural, $n) = @_;
+
+       return dcnpgettext ('', $msgctxt, $msgid, $msgid_plural, $n, undef);
+}
+
+sub dnpgettext($$$$$)
+{
+       my ($domainname, $msgctxt, $msgid, $msgid_plural, $n) = @_;
+
+       return dcnpgettext ($domainname, $msgctxt, $msgid, $msgid_plural, $n, 
undef);
+}
+
+sub dcnpgettext($$$$$$)
+{
+       my ($domainname, $msgctxt, $msgid, $msgid_plural, $n, $category) = @_;
+
+       return unless defined $msgid;
+
+       my $plural = defined $msgid_plural;
+       my $msg_ctxt_id = defined $msgctxt ? join($__gettext_pp_context_glue, 
($msgctxt, $msgid)) : $msgid;
+       
+       local $!; # Do not clobber errno!
+       
+       # This is also done in __load_domain but we need a proper value.
+       $domainname =   $__gettext_pp_textdomain
+               unless defined $domainname && length $domainname;
+       
+       # Category is always LC_MESSAGES (other categories are ignored).
+       my $category_name = 'LC_MESSAGES';
+       $category = LC_MESSAGES;
+       
+       my $domains = __load_domain ($domainname, $category, $category_name);
+       
+       my @trans = ();
+       my $domain;
+       my $found;
+       foreach my $this_domain (@$domains) {
+               if ($this_domain && defined 
$this_domain->{messages}->{$msg_ctxt_id}) {
+                       @trans = @{$this_domain->{messages}->{$msg_ctxt_id}};
+                       shift @trans;
+                       $domain = $this_domain;
+                       $found = 1;
+                       last;
+               }
+       }
+       @trans = ($msgid, $msgid_plural) unless @trans;
+       
+       my $trans = $trans[0];
+       if ($plural) {
+               if ($domain) {
+                       my $nplurals = 0;
+                       ($nplurals, $plural) = &{$domain->{plural_func}} ($n);
+                       $plural = 0 unless defined $plural;
+                       $nplurals = 0 unless defined $nplurals;
+                       $plural = 0 if $nplurals <= $plural;
+               } else {
+                       $plural = $n != 1 || 0;
+               }
+               
+               $trans = $trans[$plural] if defined $trans[$plural];
+       }
+       
+       if ($found && defined $domain->{po_header}->{charset}) {
+               my $input_codeset = $domain->{po_header}->{charset};
+               # Convert into output charset.
+               my $output_codeset = 
$__gettext_pp_domain_codeset_bindings->{$domainname};
+
+               $output_codeset = $ENV{OUTPUT_CHARSET} unless defined 
$output_codeset;
+               $output_codeset = __get_codeset ($category, $category_name,
+                                                                               
 $domain->{locale_id})
+                       unless defined $output_codeset;
+               
+               unless (defined $output_codeset) {
+                       # Still no point.
+                       my $lc_ctype = __locale_category (POSIX::LC_CTYPE(), 
+                                                                               
   'LC_CTYPE');
+                       $output_codeset = $1
+                               if $lc_ctype =~ 
/^[a-z]{2}(?:_[A-Z]{2})?\.(address@hidden)/;
+               }
+
+               # No point. :-(
+               $output_codeset = $domain->{po_header}->{charset}
+                       unless defined $output_codeset;
+       
+               if (exists $__gettext_pp_domain_cache->{$output_codeset}) {
+                       $output_codeset = 
$__gettext_pp_domain_cache->{$output_codeset};
+               } else {
+                       $output_codeset = 'utf-8' if lc $output_codeset eq 
'utf8';
+                       $output_codeset = 
+                               $__gettext_pp_domain_cache->{$output_codeset} =
+                               Locale::Recode->resolveAlias ($output_codeset);
+               }
+               
+               if (defined $output_codeset &&
+                       $output_codeset ne $domain->{po_header}->{charset}) {
+                       # We have to convert.
+                       my $recoder;
+                       
+                       if (exists 
+                               
$__gettext_pp_recoders->{$input_codeset}->{$output_codeset}) {
+                               $recoder = 
$__gettext_pp_recoders->{$input_codeset}->{$output_codeset};
+                       } else {
+                               $recoder = 
+                                       
$__gettext_pp_recoders->{$input_codeset}->{$output_codeset} =
+                                       Locale::Recode->new (from => 
$input_codeset,
+                                                                               
 to => $output_codeset,
+                                                                               
 );
+                       }
+                       
+                       $recoder->recode ($trans);
+               }
+       }
+       
+       return $trans;
+}
+
+sub nl_putenv ($)
+{
+    my ($envspec) = @_;
+    return unless defined $envspec;
+    return unless length $envspec;
+    return if substr ($envspec, 0, 1) eq '=';
+    
+    my ($var, $value) = split /=/, $envspec, 2;
+
+    # In Perl we *could* set empty environment variables even under
+    # MS-DOS, but for compatibility reasons, we implement the
+    # brain-damaged behavior of the Microsoft putenv().
+    if ($^O eq 'MSWin32') {
+        $value = '' unless defined $value;
+        if (length $value) {
+            $ENV{$var} = $value;
+        } else {
+            delete $ENV{$var};
+        }
+    } else {
+        if (defined $value) {
+            $ENV{$var} = $value;
+        } else {
+            delete $ENV{$var};
+        }
+    }
+
+    return 1;
+}
+
+sub __load_domain
+{
+       my ($domainname, $category, $category_name) = @_;
+       
+       $domainname = $__gettext_pp_textdomain
+               unless defined $domainname && length $domainname;
+
+       my $dir = bindtextdomain ($domainname, '');
+       $dir = $__gettext_pp_default_dir unless defined $dir && length $dir;
+       return [] unless defined $dir && length $dir;
+
+       my @locales;
+       my $cache_key;
+
+       if (defined $ENV{LANGUAGE} && length $ENV{LANGUAGE}) {
+               @locales = split /:/, $ENV{LANGUAGE};
+               $cache_key = $ENV{LANGUAGE};
+       } else {
+               @locales = $cache_key = __locale_category ($category, 
$category_name);
+       }
+
+       # Have we looked that one up already?
+       my $domains = 
$__gettext_pp_domain_cache->{$dir}->{$cache_key}->{$category_name}->{$domainname};
+       
+       if (@locales && !defined $domains) {
+               my @dirs = ($dir);
+               my @tries = (@locales);
+               my %locale_lookup = map { $_ => $_ } @tries;
+
+               foreach my $locale (@locales) {
+                       if ($locale =~ /^([a-z][a-z])
+                               (?:(_[A-Z][A-Z])?
+                                (\.[-_A-Za-z0-9]+)?
+                                )?
+                               (address@hidden)?$/x) {
+                               
+                               if (defined $3) {
+                                       defined $2 ?
+                                               push @tries, $1 . $2 . $3 : 
push @tries, $1 . $3;
+                               }
+                               if (defined $2) {
+                                       push @tries, $1 . $2;
+                                       $locale_lookup{$1 . $2} = $locale;
+                               }
+                               if (defined $1) {
+                                       push @tries, $1 if defined $1;
+                                       $locale_lookup{$1} = $locale;
+                               }
+                       }
+               }
+
+               push @dirs, $__gettext_pp_default_dir
+                       if $__gettext_pp_default_dir && $dir ne 
$__gettext_pp_default_dir;
+               
+               my %seen = ();
+               foreach my $basedir (@dirs) {
+                       foreach my $try (@tries) {
+                               my $fulldir = "$basedir/$try/$category_name";
+                               
+                               next if $seen{$fulldir}++;
+
+                               # If the cache for unavailable directories is 
removed,
+                               # the three lines below should be replaced by:
+                               # 'next unless -d $fulldir;'
+                               next if 
$__gettext_pp_unavailable_dirs->{$fulldir};
+                               ++$__gettext_pp_unavailable_dirs->{$fulldir} 
and next
+                                               unless -d $fulldir;
+
+                               my $domain = __load_catalog $fulldir, 
$domainname;
+                               next unless $domain;
+                               
+                               unless (defined $domain->{po_header}->{charset} 
&&
+                                               length 
$domain->{po_header}->{charset} &&
+                                               $try =~ /^(?:[a-z][a-z])
+                                               (?:(?:_[A-Z][A-Z])?
+                                                (\.[-_A-Za-z0-9]+)?
+                                                )?
+                                               (?:address@hidden)?$/x) {
+                                       $domain->{po_header}->{charset} = $1;
+                               }
+                               
+                               if (defined $domain->{po_header}->{charset}) {
+                                       $domain->{po_header}->{charset} = 
+                                               Locale::Recode->resolveAlias 
($domain->{po_header}->{charset});
+                               }
+                               $domain->{locale_id} = $locale_lookup{$try};
+                               push @$domains, $domain;
+                       }
+               }
+               
$__gettext_pp_domain_cache->{$dir}->{$cache_key}->{$category_name}->{$domainname}
 = $domains;
+       }
+
+       $domains = [] unless defined $domains;
+       return $domains;
+}
+
+sub __load_catalog
+{
+       my ($directory, $domainname) = @_;
+       
+       my $filename = "$directory/$domainname.mo";
+       
+       # Alternatively we could check the filename for evil characters ...
+       # (Important for CGIs).
+       return unless -f $filename && -r $filename;
+       
+       local $/;
+       local *HANDLE;
+       
+       open HANDLE, "<$filename"
+               or return;
+       binmode HANDLE;
+       my $raw = <HANDLE>;
+       close HANDLE;
+       
+       # Corrupted?
+       return if ! defined $raw || length $raw < 28;
+       
+       my $filesize = length $raw;
+       
+       # Read the magic number in order to determine the byte order.
+       my $domain = {};
+       my $unpack = 'N';
+       $domain->{potter} = unpack $unpack, substr $raw, 0, 4;
+       
+       if ($domain->{potter} == 0xde120495) {
+               $unpack = 'V';
+       } elsif ($domain->{potter} != 0x950412de) {
+               return;
+       }
+       my $domain_unpack = $unpack x 6;
+       
+       my ($revision, $num_strings, $msgids_off, $msgstrs_off,
+               $hash_size, $hash_off) = 
+                       unpack (($unpack x 6), substr $raw, 4, 24);
+       
+       return unless $revision == 0; # Invalid revision number.
+       
+       $domain->{revision} = $revision;
+       $domain->{num_strings} = $num_strings;
+       $domain->{msgids_off} = $msgids_off;
+       $domain->{msgstrs_off} = $msgstrs_off;
+       $domain->{hash_size} = $hash_size;
+       $domain->{hash_off} = $hash_off;
+       
+       return if $msgids_off + 4 * $num_strings > $filesize;
+       return if $msgstrs_off + 4 * $num_strings > $filesize;
+       
+       my @orig_tab = unpack (($unpack x (2 * $num_strings)), 
+                                                  substr $raw, $msgids_off, 8 
* $num_strings);
+       my @trans_tab = unpack (($unpack x (2 * $num_strings)), 
+                                                       substr $raw, 
$msgstrs_off, 8 * $num_strings);
+       
+       my $messages = {};
+       
+       for (my $count = 0; $count < 2 * $num_strings; $count += 2) {
+               my $orig_length = $orig_tab[$count];
+               my $orig_offset = $orig_tab[$count + 1];
+               my $trans_length = $trans_tab[$count];
+               my $trans_offset = $trans_tab[$count + 1];
+               
+               return if $orig_offset + $orig_length > $filesize;
+               return if $trans_offset + $trans_length > $filesize;
+               
+               my @origs = split /\000/, substr $raw, $orig_offset, 
$orig_length;
+               my @trans = split /\000/, substr $raw, $trans_offset, 
$trans_length;
+               
+               # The singular is the key, the plural plus all translations is 
the
+               # value.
+               my $msgid = $origs[0];
+               $msgid = '' unless defined $msgid && length $msgid;
+               my $msgstr = [ $origs[1], @trans ];
+               $messages->{$msgid} = $msgstr;
+       }
+       
+       $domain->{messages} = $messages;
+       
+       # Try to find po header information.
+       my $po_header = {};
+       my $null_entry = $messages->{''}->[1];
+       if ($null_entry) {
+               my @lines = split /\n/, $null_entry;
+               foreach my $line (@lines) {
+                       my ($key, $value) = split /:/, $line, 2;
+                       $key =~ s/-/_/g;
+                       $po_header->{lc $key} = $value;
+               }
+       }
+       $domain->{po_header} = $po_header;
+       
+       if (exists $domain->{po_header}->{content_type}) {
+               my $content_type = $domain->{po_header}->{content_type};
+               if ($content_type =~ s/.*=//) {
+                       $domain->{po_header}->{charset} = $content_type;
+               }
+       }
+       
+       my $code = $domain->{po_header}->{plural_forms} || '';
+       
+       # Whitespace, locale-independent.
+       my $s = '[ \t\r\n\013\014]';
+       
+       # Untaint the plural header.
+       # Keep line breaks as is (Perl 5_005 compatibility).
+       if ($code =~ m{^($s*
+                                        nplurals$s*=$s*[0-9]+
+                                        $s*;$s*
+                                        
plural$s*=$s*(?:$s|[-\?\|\&=!<>+*/\%:;a-zA-Z0-9_\(\)])+
+                                        )}xms) {
+               $domain->{po_header}->{plural_forms} = $1;
+       } else {
+               $domain->{po_header}->{plural_forms} = '';
+       }
+       
+       # Determine plural rules.
+       # The leading and trailing space is necessary to be able to match
+       # against word boundaries.
+       my $plural_func;
+       
+       if ($domain->{po_header}->{plural_forms}) {
+               my $code = ' ' . $domain->{po_header}->{plural_forms} . ' ';
+               $code =~ 
+                       
s/([^_a-zA-Z0-9]|\A)([_a-z][_A-Za-z0-9]*)([^_a-zA-Z0-9])/$1\$$2$3/g;
+               
+               $code = "sub { my \$n = shift; 
+                                  my (\$plural, \$nplurals); 
+                                  $code; 
+                                  return (\$nplurals, \$plural ? \$plural : 
0); }";
+               
+               # Now try to evaluate the code.  There is no need to run the 
code in
+               # a Safe compartment.  The above substitutions should have 
destroyed
+               # all evil code.  Corrections are welcome!
+               $plural_func = eval $code;
+               undef $plural_func if $@;
+       }
+       
+       # Default is Germanic plural (which is incorrect for French).
+       $plural_func = eval "sub { (2, 1 != shift || 0) }" unless $plural_func;
+       
+       $domain->{plural_func} = $plural_func;
+       
+       return $domain;
+}
+
+sub __locale_category
+{
+       my ($category, $category_name) = @_;
+       
+       local $@;
+       my $value = eval {POSIX::setlocale ($category)};
+       
+       # We support only XPG syntax, i. e.
+       # address@hidden
+       undef $value unless (defined $value && 
+                                                length $value &&
+                                                $value =~ /^[a-z][a-z]
+                                                (?:_[A-Z][A-Z]
+                                                 (?:\.[-_A-Za-z0-9]+)?
+                                                 )?
+                                                (?:address@hidden)?$/x);
+       
+       unless ($value) {
+               $value = $ENV{LC_ALL};
+               $value = $ENV{$category_name} unless defined $value && length 
$value;
+               $value = $ENV{LANG} unless defined $value && length $value;
+               return 'C' unless defined $value && length $value;
+       }
+       
+       return $value if $value ne 'C' && $value ne 'POSIX';
+}
+
+sub __get_codeset
+{
+       my ($category, $category_name, $locale_id) = @_;
+
+       local $@;
+       unless (defined $has_nl_langinfo) {
+               eval {
+                       require I18N::Langinfo;
+               };
+               $has_nl_langinfo = !$@;
+       }
+
+       if ($has_nl_langinfo) {
+               # Try to set the locale via the specified id.
+               my $saved_locale = eval { POSIX::setlocale (LC_ALL) };
+               my $saved_lc_all = $ENV{LC_ALL};
+
+               # Now try to set the locale via the environment.  There is no
+               # point in calling the langinfo routines if this fails.
+               $ENV{LC_ALL} = $locale_id;
+               my $codeset;
+               my $lc_all = eval { POSIX::setlocale (LC_ALL, $locale_id); };
+               $codeset = I18N::Langinfo::langinfo (I18N::Langinfo::CODESET())
+                       if defined $lc_all;
+
+               if ($saved_locale) {
+                       eval { POSIX::setlocale (LC_ALL, $saved_locale); }
+               }
+               return $codeset;
+       }
+
+       return;
+}
+       
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::gettext_pp - Pure Perl Implementation of Uniforum Message Translation
+
+=head1 SYNOPSIS
+
+ use gettext_pp (:locale_h :libintl_h);
+
+ gettext $msgid;
+ dgettext $domainname, $msgid;
+ dcgettext $domainname, $msgid, LC_MESSAGES;
+ ngettext $msgid, $msgid_plural, $count;
+ dngettext $domainname, $msgid, $msgid_plural, $count;
+ dcngettext $domainname, $msgid, $msgid_plural, $count, LC_MESSAGES;
+ pgettext $msgctxt, $msgid;
+ dpgettext $domainname, $msgctxt, $msgid;
+ dcpgettext $domainname, $msgctxt, $msgid, LC_MESSAGES;
+ npgettext $msgctxt, $msgid, $msgid_plural, $count;
+ dnpgettext $domainname, $msgctxt, $msgid, $msgid_plural, $count;
+ dcnpgettext $domainname, $msgctxt, $msgid, $msgid_plural, $count, LC_MESSAGES;
+ textdomain $domainname;
+ bindtextdomain $domainname, $directory;
+ bind_textdomain_codeset $domainname, $encoding;
+ my $category = LC_CTYPE;
+ my $category = LC_NUMERIC;
+ my $category = LC_TIME;
+ my $category = LC_COLLATE;
+ my $category = LC_MONETARY;
+ my $category = LC_MESSAGES;
+ my $category = LC_ALL;
+
+=head1 DESCRIPTION
+
+The module B<Locale::gettext_pp> is the low-level interface to 
+message translation according to the Uniforum approach that is
+for example used in GNU gettext and Sun's Solaris.
+
+Normally you should not use this module directly, but the high
+level interface Locale::TextDomain(3) that provides a much simpler
+interface.     This description is therefore deliberately kept
+brief. Please refer to the GNU gettext documentation available at
+L<http://www.gnu.org/manual/gettext/> for in-depth and background 
+information on the topic.
+
+=head1 FUNCTIONS
+
+The module exports by default nothing. Every function has to be
+imported explicitely or via an export tag (L<"EXPORT TAGS">).
+
+=over 4
+
+=item B<gettext MSGID>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dgettext TEXTDOMAIN, MSGID>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dcgettext TEXTDOMAIN, MSGID, CATEGORY>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<ngettext MSGID, MSGID_PLURAL, COUNT>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dngettext TEXTDOMAIN, MSGID, MSGID_PLURAL, COUNT>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dcngettext TEXTDOMAIN, MSGID, MSGID_PLURAL, COUNT, CATEGORY>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<pgettext MSGCTXT, MSGID>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dpgettext TEXTDOMAIN, MSGCTXT, MSGID>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dcpgettext TEXTDOMAIN, MSGCTXT, MSGID, CATEGORY>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<npgettext MSGCTXT, MSGID, MSGID_PLURAL, COUNT>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dnpgettext TEXTDOMAIN, MSGCTXT, MSGID, MSGID_PLURAL, COUNT>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<dcnpgettext TEXTDOMAIN, MSGCTXT, MSGID, MSGID_PLURAL, COUNT, CATEGORY>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<textdomain TEXTDOMAIN>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<bindtextdomain TEXTDOMAIN, DIRECTORY>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=item B<bind_textdomain_codeset TEXTDOMAIN, ENCODING>
+
+=item B<nl_putenv ENVSPEC>
+
+See L<Locale::Messages/FUNCTIONS>.
+
+=back
+
+=head1 CONSTANTS
+
+You can (maybe) get the same constants from POSIX(3); see there for
+a detailed description
+
+=over 4
+
+=item B<LC_CTYPE>
+
+=item B<LC_NUMERIC>
+
+=item B<LC_TIME>
+
+=item B<LC_COLLATE>
+
+=item B<LC_MONETARY>
+
+=item B<LC_MESSAGES>
+
+=item B<LC_ALL>
+
+See L<Locale::Messages/CONSTANTS> for more information.
+
+=back
+
+=head1 EXPORT TAGS
+
+This module does not export anything unless explicitely requested.
+You can import groups of functions via two tags:
+
+=over 4
+
+=item B<use Locale::gettext_pp (':locale_h')>
+
+Imports the functions that are normally defined in the C include
+file F<locale.h>:
+
+=over 8
+
+=item B<gettext()>
+
+=item B<dgettext()>
+
+=item B<dcgettext()>
+
+=item B<ngettext()>
+
+=item B<dngettext()>
+
+=item B<dcngettext()>
+
+=item B<pgettext()>
+
+Introduced with libintl-perl 1.17.
+
+=item B<dpgettext()>
+
+Introduced with libintl-perl 1.17.
+
+=item B<dcpgettext()>
+
+Introduced with libintl-perl 1.17.
+
+=item B<npgettext()>
+
+Introduced with libintl-perl 1.17.
+
+=item B<dnpgettext()>
+
+Introduced with libintl-perl 1.17.
+
+=item B<dcnpgettext()>
+
+Introduced with libintl-perl 1.17.
+
+=item B<textdomain()>
+
+=item B<bindtextdomain()>
+
+=item B<bind_textdomain_codeset()>
+
+=back
+
+=item B<use Locale::gettext_pp (':libintl_h')>
+
+Imports the locale category constants:
+
+=over 8
+
+=item B<LC_CTYPE>
+
+=item B<LC_NUMERIC>
+
+=item B<LC_TIME>
+
+=item B<LC_COLLATE>
+
+=item B<LC_MONETARY>
+
+=item B<LC_MESSAGES>
+
+=item B<LC_ALL>
+
+=back
+
+=back
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::TextDomain(3pm), Locale::Messages(3pm), Encode(3pm),
+perllocale(3pm), POSIX(3pm), perl(1), gettext(1), gettext(3)
+
+=cut
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+tab-width: 4
+End:
+
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/gettext_xs.pod
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/gettext_xs.pod
diff -N maintain/lib/libintl-perl/lib/Locale/gettext_xs.pod
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/gettext_xs.pod 12 Oct 2011 23:51:27 
-0000      1.1
@@ -0,0 +1,109 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: gettext_xs.pod,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# Pure Perl implementation of Uniforum message translation.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+
+=head1 NAME
+
+Locale::gettext_xs - XS Implementation of Uniforum Message Translation
+
+=head1 SYNOPSIS
+
+ use gettext_xs (:locale_h :libintl_h);
+
+ gettext $msgid;
+ dgettext $domainname, $msgid;
+ dcgettext $domainname, $msgid, LC_MESSAGES;
+ ngettext $msgid, $msgid_plural, $count;
+ dngettext $domainname, $msgid, $msgid_plural, $count;
+ dcngettext $domainname, $msgid, $msgid_plural, $count, LC_MESSAGES;
+ pgettext $msgctxt, $msgid;
+ dpgettext $domainname, $msgctxt, $msgid;
+ dcpgettext $domainname, $msgctxt, $msgid, LC_MESSAGES;
+ npgettext $msgctxt, $msgid, $msgid_plural, $count;
+ dnpgettext $domainname, $msgctxt, $msgid, $msgid_plural, $count;
+ dcnpgettext $domainname, $msgctxt, $msgid, $msgid_plural, $count, LC_MESSAGES;
+ textdomain $domainname;
+ bindtextdomain $domainname, $directory;
+ bind_textdomain_codeset $domainname, $encoding;
+ my $category = LC_CTYPE;
+ my $category = LC_NUMERIC;
+ my $category = LC_TIME;
+ my $category = LC_COLLATE;
+ my $category = LC_MONETARY;
+ my $category = LC_MESSAGES;
+ my $category = LC_ALL;
+
+=head1 DESCRIPTION
+
+The module B<Locale::gettext_xs> is the low-level interface to 
+message translation according to the Uniforum approach that is
+for example used in GNU gettext and Sun's Solaris.
+
+The module does not necessarily work on your system.  It depends
+on the presence of shared libraries that are not always available.
+The higher-level modules Locale::TextDomain::(3), resp. 
+Locale::Messages(3) will fall back to a pure Perl version if 
+boostrapping B<Locale::gettext_xs> fails.
+
+The interface of B<Locale::gettext_xs> is mostly identical to the pure 
+Perl version as described in Locale::gettext_pp(3), see there for details.
+Differences are outlined below.
+
+B<Locale::gettext_xs> is downwards compatible to Locale::gettext(3)
+by Phillip Vandry <address@hidden>.  You can use it as replacement
+for Locale::gettext(3).
+
+Please note that directory names passed to the function bindtextdomain()
+are automatically converted from Perl semantics (slash as directory
+separator) to local semantics (for example the backslash for MS-DOS).
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+The module is based on the work of Phillip Vandry <address@hidden>
+in Locale::gettext(3).
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::TextDomain(3pm), Locale::gettext_pp(3pm), Locale::gettext(3pm), 
+Locale::Messages(3pm), File::Spec(3), perl(1)
+
+=cut
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+tab-width: 4
+End:
+
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/libintlFAQ.pod
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/libintlFAQ.pod
diff -N maintain/lib/libintl-perl/lib/Locale/libintlFAQ.pod
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/libintlFAQ.pod 12 Oct 2011 23:51:27 
-0000      1.1
@@ -0,0 +1,258 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: libintlFAQ.pod,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# High-level interface to Perl i18n.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+ 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+=head1 NAME
+
+Locale::TextDomain::FAQ - Frequently asked questions for libintl-perl
+
+=head1 DESCRIPTION
+
+This FAQ 
+
+=head1 QUESTIONS AND ANSWERS
+
+=head2 Why is libintl-perl so big?  Why don't you use Encode(3pm) for character
+set conversion instead of rolling your own version?
+
+Encode(3pm) requires at least Perl 5.7.x, whereas libintl-perl needs
+to be operational on Perl 5.004.  Internally, libintl-perl uses Encode(3pm)
+if it is available.
+
+
+=head2 Why do the gettext functions always unset the utf-8 flag on the strings 
+it returns?
+
+Because the gettext functions do not know whether the string is encoded 
+in utf-8 or not.  Instead of taking guesses, it rather unsets the flag.
+
+
+=head2 Can I set the utf-8 flag on strings returned by the gettext family of
+functions?
+
+Yes, but it is not recommended.  If you absolutely want to do it,
+use the function bind_textdomain_filter in Locale::Messages for it.
+
+The strings returned by gettext and friends are by default encoded in
+the preferred charset for the user's locale, but there is no portable
+way to find out, whether this is utf-8 or not.  That means, you either
+have to enforce utf-8 as the output character set (by means of 
+bind_textdomain_codeset() and/or the environment variable
+OUTPUT_CHARSET) and override the user preference, or you run the risk
+of marking strings as utf-8 which really aren't utf-8.
+
+The whole concept behind that utf-8 flag introduced in Perl 5.6 is
+seriously broken, and the above described dilemma is a proof for that.
+The best thing you can do with that flag is get rid of it, and turn
+it off.  Your code will benefit from it and become less error prone,
+more portable and faster.
+
+
+=head2 Why do non-ASCII characters in my Gtk2 application look messed up?
+
+The Perl binding of Gtk2 has a design flaw.  It expects all UI messages
+to be in UTF-8 and it also expects messages to be flagged as utf-8.  The
+only solution for you is to enforce all your po files to be encoded
+in utf-8 (convert them manually, if you need to), and also enforce that
+charset in your application, regardless of the user's locale settings.
+Assumed that your textdomain is "org.bar.foo", you have to code the
+following into your main module or script:
+
+  BEGIN {
+      bind_textdomain_filter 'org.bar.foo', \&turn_utf_8_on;
+      bind_textdomain_codeset 'org.bar.foo', 'utf-8';
+  }
+
+See the File GTestRunner.pm of Test::Unit::GTestRunner(3pm) for details.
+
+
+=head2 How do I interface Glade2 UI definitions with libintl-perl?
+
+Gtk2::GladeXML(3pm) seems to ignore calls to bind_textdomain().
+See the File GTestRunner.pm of Test::Unit::GTestRunner(3pm) for a
+possible solution.
+
+
+=head2 Why does Locale::TextDomain use a double underscore?  I am used
+to a single underscore from C or other languages. 
+
+Function names that consist of exactly one non-alphanumerical character
+make the function automatically global in Perl.  Besides, in Perl
+6 the concatenation operator will be the underscore instead of the
+dot.
+
+=head2 How do I switch languages or force a certain language independently
+from user settings read from the environment?
+
+The simple answer is:
+
+    use POSIX qw (setlocale LC_ALL);
+    
+    my $language = 'fr';
+    my $country = 'FR';
+    my $charset = 'iso-8859-1';
+
+    setlocale LC_ALL, "${language}_$country.$charset";
+
+Sadly enough, this will fail in many cases.  The problem is that locale
+identifiers are not standardized and are completely system-dependent.  Not
+only their overall format, but also other details like case-sensitivity.
+Some systems are very forgiving about the system - for example normalizing
+charset descriptions - others very strict.  In order to be reasonably
+platform independent, you should try a list of possible locale identifiers
+for your desired settings.  This is about what I would try for achieving the
+above:
+
+   my @tries = qw (
+       fr_FR.iso-8859-1 fr_FR.iso8859-1 fr_FR.iso88591
+       fr_FR.ISO-8859-1 fr_FR.ISO8859-1 fr_FR.ISO88591
+       fr.iso-8859-1 fr.iso8859-1 fr.iso88591
+       fr.ISO-8859-1 fr.ISO8859-1 fr.ISO88591
+       fr_FR
+       French_France.iso-8859-1 French_France.iso8859-1 French_France.iso88591
+       French_France.ISO-8859-1 French_France.ISO8859-1 French_France.ISO88591
+       French.iso-8859-1 French.iso8859-1 French.iso88591
+       French.ISO-8859-1 French.ISO8859-1 French.ISO88591
+   );
+   foreach my $try (@tries) {
+       last if setlocale LC_ALL, $try;
+   }
+
+Set Locale::Util(3pm) for functions that help you with this.
+
+Alternatively, you can force a certain language by setting the environment
+variables LANGUAGE, LANG and OUTPUT_CHARSET, but this is only guaranteed
+to work, if you use the pure Perl implementation of gettext (see the
+documentation for select_package() in Locale::Messages(3pm)). You would
+do the above like this:
+
+    use Locale::Messages qw (nl_putenv);
+
+    # LANGUAGE is a colon separated list of languages.
+    nl_putenv("LANGUAGE=fr_FR");
+
+    # If LANGUAGE is set, LANG should be set to the primary language.
+    # This is not needed for gettext, but for other parts of the system
+    # it is.
+    nl_putenv("LANG=fr_FR");
+
+    # Force an output charset like this:
+    nl_putenv("OUTPUT_CHARSET=iso-8859-1");
+
+    setlocale (LC_MESSAGES, 'C');
+
+These environment variables are GNU extensions, and they are also
+honored by libintl-perl.  Still, you should always try to set the
+locale with setlocale for the catch-all category LC_ALL.  If you miss
+to do so, your program's output maybe cluttered, mixing languages
+and charsets, if the system runs in a locale that is not compatible
+with your own language settings.
+
+Remember that these environment variables are not guaranteed to
+work, if you use an XS version of gettext.  In order to force usage
+of the pure Perl implementation, do the following:
+
+    Locale::Messages->select_package ('gettext_pp');
+
+If you think, this is brain-damaged, you are right, but I cannot help
+you.  Actually there should be a more flexible API than setlocale,
+but at the time of this writing there isn't.  Until then, the recommentation
+goes like this:
+
+       1) Try setting LC_ALL with Locale::Util.
+       2) If that does not succeed, either give up or ...
+       3) Reset LC_MESSAGES to C/POSIX.
+       4) Switch to pure Perl for gettext.
+        5) Set the environment variables LANGUAGE, LANG,
+          and OUTPUT_CHARSET to your desired values.
+
+=head2 What is the advantage of libintl-perl over Locale::Maketext?
+
+Of course, I can only give my personal opinion as an answer.
+
+Locale::Maketext claims to fix design flaws in gettext.  These alleged
+design flaws, however, boil down to one pathological case which always
+has a workaround.  But both programmers and translators pay this
+fix with an unnecessarily complicated interface.
+
+The paramount advantage of libintl-perl is that it uses an approved
+technology and concept.  Except for Java(tm) programs, this is the
+state-of-the-art concept for localizing Un*x software.  Programmers
+that have already localized software in C, C++, C#, Python, PHP,
+or a number of other languages will feel instantly at home, when
+localizing software written in Perl with libintl-perl.  The same
+holds true for the translators, because the files they deal with
+have exactly the same format as those for other programming languages.
+They can use the same set of tools, and even the commands they have
+to execute are the same.
+
+With libintl-perl refactoring of the software is painless, even if
+you modify, add or delete translatable strings.  The gettext tools
+are powerful enough to reduce the effort of the translators to the
+bare minimum.  Maintaining the message catalogs of Locale::Maketext
+in larger scale projects, is IMHO unfeasible.
+
+Editing the message catalogs of Locale::Maketext - they are really
+Perl modules - asks too much from most translators, unless
+they are programmers.  The portable object (po) files used by
+libintl-perl have a simple syntax, and there are a bunch of specialized
+GUI editors for these files, that facilitate the translation process
+and hide most complexity from the user.
+
+Furthermore, libintl-perl makes it possible to mix programming
+languages without a paradigm shift in localization.  Without any special
+efforts, you can write a localized software that has modules written
+in C, modules in Perl, and builds a Gtk user interface with Glade.
+All translatable strings end up in one single message catalog.
+
+Last but not least, the interface used by libintl-perl is plain
+simple:  Prepend translatable strings with a double underscore,
+and you are done in most cases.
+
+=head2 Why do single-quoted strings not work?
+
+You probably write something like this:
+
+    print __'Hello';
+
+And you get an error message like "Can't find string terminator "'" anywhere
+before EOF at ...", or even "Bareword found where operator expected at
+... Might be a runaway multi-line '' string starting on".  The above line
+is (really!) essentially the same as writing:
+
+    print __::Hello';
+
+A lesser know feature of Perl is that you can use a single quote ("'") as 
+the separator in packages instead of the double colon (":").  What the
+Perl parser sees in the first example is a valid package name ("__")
+followed by the separator ("'"), then another valid package name ("Hello")
+followed by a lone single quote.  It is therefore not a problem in 
+libintl-perl but simple wrong Perl syntax.  You have to correct alternatives:
+
+    print __ 'Hello';   # Insert a space to disambiguate.
+
+Or use double-quotes:
+
+    print __"Hello";
+
+Thanks to Slavi Agafonkin for pointing me to the solution of this mystery.

Index: maintain/lib/libintl-perl/lib/Locale/Recode/_Aliases.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/Recode/_Aliases.pm
diff -N maintain/lib/libintl-perl/lib/Locale/Recode/_Aliases.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/Recode/_Aliases.pm     12 Oct 2011 
23:51:27 -0000      1.1
@@ -0,0 +1,749 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: _Aliases.pm,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# Internally known aliases for charsets.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::Recode::_Aliases;
+
+use constant ALIASES => {
+       '1047' => 'IBM1047',
+    '437' => 'IBM437',
+    '850' => 'IBM850',
+    '851' => 'IBM851',
+    '852' => 'IBM852',
+    '855' => 'IBM855',
+    '857' => 'IBM857',
+    '860' => 'IBM860',
+    '861' => 'IBM861',
+    '862' => 'IBM862',
+    '863' => 'IBM863',
+    '865' => 'IBM865',
+    '866' => 'IBM866',
+    '869' => 'IBM869',
+    '904' => 'IBM904',
+    'ANSI_X3.4-1968' => 'US-ASCII',
+    'ANSI_X3.4-1986' => 'US-ASCII',
+    'ARABIC' => 'ISO-8859-6',
+    'ARABIC7' => 'ASMO_449',
+    'ASCII' => 'US-ASCII',
+    'ASMO-708' => 'ISO-8859-6',
+       'ATARIST' => 'ATARI-ST',
+       'ATARIST-EURO' => 'ATARI-ST-EURO',
+       'BIG-5' => 'BIG5',
+       'BIG-FIVE' => 'BIG5',
+       'BIG5-ETEN' => 'BIG5',
+       'BIG5HKSCS' => 'BIG5-HKSCS',
+       'BIGFIVE' => 'BIG5',
+    'CA' => 'CSA_Z243.4-1985-1',
+    'CCSID00924' => 'IBM00924',
+    'CCSID01140' => 'IBM01140',
+    'CCSID01141' => 'IBM01141',
+    'CCSID01142' => 'IBM01142',
+    'CCSID01143' => 'IBM01143',
+    'CCSID01144' => 'IBM01144',
+    'CCSID01145' => 'IBM01145',
+    'CCSID01146' => 'IBM01146',
+    'CCSID01147' => 'IBM01147',
+    'CCSID01148' => 'IBM01148',
+    'CCSID01149' => 'IBM01149',
+    'CHINESE' => 'GB_2312-80',
+    'CN' => 'GB_1988-80',
+       'CN-BIG5' => 'BIG5',
+    'CP-AR' => 'IBM868',
+    'CP-GR' => 'IBM869',
+       'CP-HU' => 'CWI',
+    'CP-IS' => 'IBM861',
+    'CP00924' => 'IBM00924',
+    'CP01140' => 'IBM01140',
+    'CP01141' => 'IBM01141',
+    'CP01142' => 'IBM01142',
+    'CP01143' => 'IBM01143',
+    'CP01144' => 'IBM01144',
+    'CP01145' => 'IBM01145',
+    'CP01146' => 'IBM01146',
+    'CP01147' => 'IBM01147',
+    'CP01148' => 'IBM01148',
+    'CP01149' => 'IBM01149',
+    'CP037' => 'IBM037',
+    'CP038' => 'IBM038',
+       'CP1004' => 'IBM1004',
+    'CP1026' => 'IBM1026',
+       'CP1047' => 'IBM1047',
+       'CP1250' => 'WINDOWS-1250',
+       'CP1251' => 'WINDOWS-1251',
+       'CP1252' => 'WINDOWS-1252',
+       'CP1253' => 'WINDOWS-1253',
+       'CP1254' => 'WINDOWS-1254',
+       'CP1255' => 'WINDOWS-1255',
+       'CP1256' => 'WINDOWS-1256',
+       'CP1257' => 'WINDOWS-1257',
+       'CP1258' => 'WINDOWS-1258',
+    'CP154' => 'PTCP154',
+    'CP273' => 'IBM273',
+    'CP274' => 'IBM274',
+    'CP275' => 'IBM275',
+    'CP278' => 'IBM278',
+    'CP280' => 'IBM280',
+    'CP281' => 'IBM281',
+    'CP284' => 'IBM284',
+    'CP285' => 'IBM285',
+    'CP290' => 'IBM290',
+    'CP297' => 'IBM297',
+    'CP367' => 'US-ASCII',
+    'CP420' => 'IBM420',
+    'CP423' => 'IBM423',
+    'CP424' => 'IBM424',
+    'CP437' => 'IBM437',
+    'CP500' => 'IBM500',
+    'CP775' => 'IBM775',
+    'CP819' => 'ISO-8859-1',
+    'CP850' => 'IBM850',
+    'CP851' => 'IBM851',
+    'CP852' => 'IBM852',
+    'CP855' => 'IBM855',
+    'CP857' => 'IBM857',
+    'CP860' => 'IBM860',
+    'CP861' => 'IBM861',
+    'CP862' => 'IBM862',
+    'CP863' => 'IBM863',
+    'CP864' => 'IBM864',
+    'CP865' => 'IBM865',
+    'CP866' => 'IBM866',
+    'CP868' => 'IBM868',
+    'CP869' => 'IBM869',
+    'CP870' => 'IBM870',
+    'CP871' => 'IBM871',
+       'CP874' => 'IBM874',
+       'CP875' => 'IBM875',
+    'CP880' => 'IBM880',
+    'CP891' => 'IBM891',
+    'CP903' => 'IBM903',
+    'CP904' => 'IBM904',
+    'CP905' => 'IBM905',
+    'CP918' => 'IBM918',
+    'CP936' => 'GBK',
+    'CSA7-1' => 'CSA_Z243.4-1985-1',
+    'CSA7-2' => 'CSA_Z243.4-1985-2',
+    'CSADOBESTANDARDENCODING' => 'ADOBE-STANDARD-ENCODING',
+    'CSASCII' => 'US-ASCII',
+    'CSA_T500-1983' => 'ANSI_X3.110-1983',
+    'CSBIG5' => 'BIG5',
+    'CSBOCU-1' => 'BOCU-1',
+    'CSCESU-8' => 'CESU-8',
+    'CSDECMCS' => 'DEC-MCS',
+    'CSDKUS' => 'DK-US',
+    'CSEBCDICATDEA' => 'EBCDIC-AT-DE-A',
+    'CSEBCDICCAFR' => 'EBCDIC-CA-FR',
+    'CSEBCDICDKNO' => 'EBCDIC-DK-NO',
+    'CSEBCDICDKNOA' => 'EBCDIC-DK-NO-A',
+    'CSEBCDICES' => 'EBCDIC-ES',
+    'CSEBCDICESA' => 'EBCDIC-ES-A',
+    'CSEBCDICESS' => 'EBCDIC-ES-S',
+    'CSEBCDICFISE' => 'EBCDIC-FI-SE',
+    'CSEBCDICFISEA' => 'EBCDIC-FI-SE-A',
+    'CSEBCDICFR' => 'EBCDIC-FR',
+    'CSEBCDICIT' => 'EBCDIC-IT',
+    'CSEBCDICPT' => 'EBCDIC-PT',
+    'CSEBCDICUK' => 'EBCDIC-UK',
+    'CSEBCDICUS' => 'EBCDIC-US',
+    'CSEUCFIXWIDJAPANESE' => 'EXTENDED_UNIX_CODE_FIXED_WIDTH_FOR_JAPANESE',
+    'CSEUCKR' => 'EUC-KR',
+    'CSEUCPKDFMTJAPANESE' => 'EUC-JP',
+    'CSEUCTW' => 'EUC-TW',
+    'CSGB2312' => 'GB2312',
+    'CSHALFWIDTHKATAKANA' => 'JIS_X0201',
+    'CSHPDESKTOP' => 'HP-DESKTOP',
+    'CSHPLEGAL' => 'HP-LEGAL',
+    'CSHPMATH8' => 'HP-MATH8',
+    'CSHPPIFONT' => 'HP-PI-FONT',
+    'CSHPPSMATH' => 'ADOBE-SYMBOL-ENCODING',
+    'CSHPROMAN8' => 'HP-ROMAN8',
+    'CSIBBM904' => 'IBM904',
+    'CSIBM037' => 'IBM037',
+    'CSIBM038' => 'IBM038',
+    'CSIBM1026' => 'IBM1026',
+    'CSIBM273' => 'IBM273',
+    'CSIBM274' => 'IBM274',
+    'CSIBM275' => 'IBM275',
+    'CSIBM277' => 'IBM277',
+    'CSIBM278' => 'IBM278',
+    'CSIBM280' => 'IBM280',
+    'CSIBM281' => 'IBM281',
+    'CSIBM284' => 'IBM284',
+    'CSIBM285' => 'IBM285',
+    'CSIBM290' => 'IBM290',
+    'CSIBM297' => 'IBM297',
+    'CSIBM420' => 'IBM420',
+    'CSIBM423' => 'IBM423',
+    'CSIBM424' => 'IBM424',
+    'CSIBM500' => 'IBM500',
+    'CSIBM851' => 'IBM851',
+    'CSIBM855' => 'IBM855',
+    'CSIBM857' => 'IBM857',
+    'CSIBM860' => 'IBM860',
+    'CSIBM861' => 'IBM861',
+    'CSIBM863' => 'IBM863',
+    'CSIBM864' => 'IBM864',
+    'CSIBM865' => 'IBM865',
+    'CSIBM866' => 'IBM866',
+    'CSIBM868' => 'IBM868',
+    'CSIBM869' => 'IBM869',
+    'CSIBM870' => 'IBM870',
+    'CSIBM871' => 'IBM871',
+    'CSIBM880' => 'IBM880',
+    'CSIBM891' => 'IBM891',
+    'CSIBM903' => 'IBM903',
+    'CSIBM905' => 'IBM905',
+    'CSIBM918' => 'IBM918',
+    'CSIBMEBCDICATDE' => 'EBCDIC-AT-DE',
+    'CSIBMSYMBOLS' => 'IBM-SYMBOLS',
+    'CSIBMTHAI' => 'IBM-THAI',
+    'CSINVARIANT' => 'INVARIANT',
+    'CSISO102T617BIT' => 'T.61-7BIT',
+    'CSISO10367BOX' => 'ISO_10367-BOX',
+    'CSISO10646UTF1' => 'ISO-10646-UTF-1',
+    'CSISO10SWEDISH' => 'SEN_850200_B',
+    'CSISO111ECMACYRILLIC' => 'ECMA-CYRILLIC',
+    'CSISO11SWEDISHFORNAMES' => 'SEN_850200_C',
+    'CSISO121CANADIAN1' => 'CSA_Z243.4-1985-1',
+    'CSISO122CANADIAN2' => 'CSA_Z243.4-1985-2',
+    'CSISO123CSAZ24341985GR' => 'CSA_Z243.4-1985-GR',
+    'CSISO128T101G2' => 'T.101-G2',
+    'CSISO139CSN369103' => 'CSN_369103',
+    'CSISO13JISC6220JP' => 'JIS_C6220-1969-JP',
+    'CSISO141JUSIB1002' => 'JUS_I.B1.002',
+    'CSISO143IECP271' => 'IEC_P27-1',
+    'CSISO146SERBIAN' => 'JUS_I.B1.003-SERB',
+    'CSISO147MACEDONIAN' => 'JUS_I.B1.003-MAC',
+    'CSISO14JISC6220RO' => 'JIS_C6220-1969-RO',
+    'CSISO150' => 'GREEK-CCITT',
+    'CSISO150GREEKCCITT' => 'GREEK-CCITT',
+    'CSISO151CUBA' => 'NC_NC00-10:81',
+    'CSISO153GOST1976874' => 'GOST_19768-74',
+    'CSISO158LAP' => 'LATIN-LAP',
+    'CSISO159JISX02121990' => 'JIS_X0212-1990',
+    'CSISO15ITALIAN' => 'IT',
+    'CSISO16PORTUGUESE' => 'PT',
+    'CSISO17SPANISH' => 'ES',
+    'CSISO18GREEK7OLD' => 'GREEK7-OLD',
+    'CSISO19LATINGREEK' => 'LATIN-GREEK',
+    'CSISO2022JP' => 'ISO-2022-JP',
+    'CSISO2022JP2' => 'ISO-2022-JP-2',
+    'CSISO2022KR' => 'ISO-2022-KR',
+    'CSISO2033' => 'ISO_2033-1983',
+    'CSISO21GERMAN' => 'DIN_66003',
+    'CSISO25FRENCH' => 'NF_Z_62-010_(1973)',
+    'CSISO27LATINGREEK1' => 'LATIN-GREEK-1',
+    'CSISO2INTLREFVERSION' => 'ISO_646.IRV:1983',
+    'CSISO42JISC62261978' => 'JIS_C6226-1978',
+    'CSISO47BSVIEWDATA' => 'BS_VIEWDATA',
+    'CSISO49INIS' => 'INIS',
+    'CSISO4UNITEDKINGDOM' => 'BS_4730',
+    'CSISO50INIS8' => 'INIS-8',
+    'CSISO51INISCYRILLIC' => 'INIS-CYRILLIC',
+    'CSISO5427CYRILLIC' => 'ISO_5427',
+    'CSISO5428GREEK' => 'ISO_5428:1980',
+    'CSISO57GB1988' => 'GB_1988-80',
+    'CSISO58GB231280' => 'GB_2312-80',
+    'CSISO60DANISHNORWEGIAN' => 'NS_4551-1',
+    'CSISO60NORWEGIAN1' => 'NS_4551-1',
+    'CSISO61NORWEGIAN2' => 'NS_4551-2',
+    'CSISO646BASIC1983' => 'ISO_646.BASIC:1983',
+    'CSISO646DANISH' => 'DS_2089',
+    'CSISO6937ADD' => 'ISO_6937-2-25',
+    'CSISO69FRENCH' => 'NF_Z_62-010',
+    'CSISO70VIDEOTEXSUPP1' => 'VIDEOTEX-SUPPL',
+    'CSISO84PORTUGUESE2' => 'PT2',
+    'CSISO85SPANISH2' => 'ES2',
+    'CSISO86HUNGARIAN' => 'MSZ_7795.3',
+    'CSISO87JISX0208' => 'JIS_C6226-1983',
+    'CSISO88596E' => 'ISO-8859-6-E',
+    'CSISO88596I' => 'ISO-8859-6-I',
+    'CSISO88598E' => 'ISO-8859-8-E',
+    'CSISO88598I' => 'ISO-8859-8-I',
+    'CSISO8859SUPP' => 'ISO_8859-SUPP',
+    'CSISO88GREEK7' => 'GREEK7',
+    'CSISO89ASMO449' => 'ASMO_449',
+    'CSISO90' => 'ISO-IR-90',
+    'CSISO91JISC62291984A' => 'JIS_C6229-1984-A',
+    'CSISO92JISC62991984B' => 'JIS_C6229-1984-B',
+    'CSISO93JIS62291984BADD' => 'JIS_C6229-1984-B-ADD',
+    'CSISO94JIS62291984HAND' => 'JIS_C6229-1984-HAND',
+    'CSISO95JIS62291984HANDADD' => 'JIS_C6229-1984-HAND-ADD',
+    'CSISO96JISC62291984KANA' => 'JIS_C6229-1984-KANA',
+    'CSISO99NAPLPS' => 'ANSI_X3.110-1983',
+    'CSISOLATIN1' => 'ISO-8859-1',
+    'CSISOLATIN2' => 'ISO-8859-2',
+    'CSISOLATIN3' => 'ISO-8859-3',
+    'CSISOLATIN4' => 'ISO-8859-4',
+    'CSISOLATIN5' => 'ISO-8859-9',
+    'CSISOLATIN6' => 'ISO-8859-10',
+    'CSISOLATINARABIC' => 'ISO-8859-6',
+    'CSISOLATINCYRILLIC' => 'ISO-8859-5',
+    'CSISOLATINGREEK' => 'ISO-8859-7',
+    'CSISOLATINHEBREW' => 'ISO-8859-8',
+    'CSISOTEXTCOMM' => 'ISO_6937-2-ADD',
+    'CSJISENCODING' => 'JIS_ENCODING',
+    'CSKOI8R' => 'KOI8-R',
+    'CSKSC56011987' => 'KS_C_5601-1987',
+    'CSKSC5636' => 'KSC5636',
+    'CSMACINTOSH' => 'MACINTOSH',
+    'CSMICROSOFTPUBLISHING' => 'MICROSOFT-PUBLISHING',
+    'CSMNEM' => 'MNEM',
+    'CSMNEMONIC' => 'MNEMONIC',
+    'CSNATSDANO' => 'NATS-DANO',
+    'CSNATSDANOADD' => 'NATS-DANO-ADD',
+    'CSNATSSEFI' => 'NATS-SEFI',
+    'CSNATSSEFIADD' => 'NATS-SEFI-ADD',
+    'CSPC775BALTIC' => 'IBM775',
+    'CSPC850MULTILINGUAL' => 'IBM850',
+    'CSPC862LATINHEBREW' => 'IBM862',
+    'CSPC8CODEPAGE437' => 'IBM437',
+    'CSPC8DANISHNORWEGIAN' => 'PC8-DANISH-NORWEGIAN',
+    'CSPC8TURKISH' => 'PC8-TURKISH',
+    'CSPCP852' => 'IBM852',
+    'CSPTCP154' => 'PTCP154',
+    'CSSHIFTJIS' => 'SHIFT_JIS',
+    'CSUCS4' => 'ISO-10646-UCS-4',
+    'CSUNICODE' => 'ISO-10646-UCS-2',
+    'CSUNICODE11' => 'UNICODE-1-1',
+    'CSUNICODE11UTF7' => 'UNICODE-1-1-UTF-7',
+    'CSUNICODEASCII' => 'ISO-10646-UCS-BASIC',
+    'CSUNICODEIBM1264' => 'ISO-UNICODE-IBM-1264',
+    'CSUNICODEIBM1265' => 'ISO-UNICODE-IBM-1265',
+    'CSUNICODEIBM1268' => 'ISO-UNICODE-IBM-1268',
+    'CSUNICODEIBM1276' => 'ISO-UNICODE-IBM-1276',
+    'CSUNICODELATIN1' => 'ISO-10646-UNICODE-LATIN1',
+    'CSUNKNOWN8BIT' => 'UNKNOWN-8BIT',
+    'CSUSDK' => 'US-DK',
+    'CSVENTURAINTERNATIONAL' => 'VENTURA-INTERNATIONAL',
+    'CSVENTURAMATH' => 'VENTURA-MATH',
+    'CSVENTURAUS' => 'VENTURA-US',
+    'CSVIQR' => 'VIQR',
+    'CSVISCII' => 'VISCII',
+    'CSWINDOWS30LATIN1' => 'ISO-8859-1-WINDOWS-3.0-LATIN-1',
+    'CSWINDOWS31J' => 'WINDOWS-31J',
+    'CSWINDOWS31LATIN1' => 'ISO-8859-1-WINDOWS-3.1-LATIN-1',
+    'CSWINDOWS31LATIN2' => 'ISO-8859-2-WINDOWS-LATIN-2',
+    'CSWINDOWS31LATIN5' => 'ISO-8859-9-WINDOWS-LATIN-5',
+    'CUBA' => 'NC_NC00-10:81',
+       'CWI-2' => 'CWI',
+    'CYRILLIC' => 'ISO-8859-5',
+    'CYRILLIC-ASIAN' => 'PTCP154',
+    'DE' => 'DIN_66003',
+    'DEC' => 'DEC-MCS',
+    'DK' => 'DS_2089',
+    'DS2089' => 'DS_2089',
+    'E13B' => 'ISO_2033-1983',
+    'EBCDIC-BE' => 'IBM274',
+    'EBCDIC-BR' => 'IBM275',
+    'EBCDIC-CP-AR1' => 'IBM420',
+    'EBCDIC-CP-AR2' => 'IBM918',
+    'EBCDIC-CP-BE' => 'IBM500',
+    'EBCDIC-CP-CA' => 'IBM037',
+    'EBCDIC-CP-CH' => 'IBM500',
+    'EBCDIC-CP-DK' => 'IBM277',
+    'EBCDIC-CP-ES' => 'IBM284',
+    'EBCDIC-CP-FI' => 'IBM278',
+    'EBCDIC-CP-FR' => 'IBM297',
+    'EBCDIC-CP-GB' => 'IBM285',
+    'EBCDIC-CP-GR' => 'IBM423',
+    'EBCDIC-CP-HE' => 'IBM424',
+    'EBCDIC-CP-IS' => 'IBM871',
+    'EBCDIC-CP-IT' => 'IBM280',
+    'EBCDIC-CP-NL' => 'IBM037',
+    'EBCDIC-CP-NO' => 'IBM277',
+    'EBCDIC-CP-ROECE' => 'IBM870',
+    'EBCDIC-CP-SE' => 'IBM278',
+    'EBCDIC-CP-TR' => 'IBM905',
+    'EBCDIC-CP-US' => 'IBM037',
+    'EBCDIC-CP-WT' => 'IBM037',
+    'EBCDIC-CP-YU' => 'IBM870',
+    'EBCDIC-CYRILLIC' => 'IBM880',
+    'EBCDIC-DE-273+EURO' => 'IBM01141',
+    'EBCDIC-DK-277+EURO' => 'IBM01142',
+    'EBCDIC-ES-284+EURO' => 'IBM01145',
+    'EBCDIC-FI-278+EURO' => 'IBM01143',
+    'EBCDIC-FR-297+EURO' => 'IBM01147',
+    'EBCDIC-GB-285+EURO' => 'IBM01146',
+       'EBCDIC-GREEK' => 'IBM875',
+    'EBCDIC-INT' => 'IBM038',
+       'EBCDIC-INT1' => 'IBM256',
+    'EBCDIC-INTERNATIONAL-500+EURO' => 'IBM01148',
+    'EBCDIC-IS-871+EURO' => 'IBM01149',
+    'EBCDIC-IT-280+EURO' => 'IBM01144',
+    'EBCDIC-JP-E' => 'IBM281',
+    'EBCDIC-JP-KANA' => 'IBM290',
+    'EBCDIC-LATIN9--EURO' => 'IBM00924',
+    'EBCDIC-NO-277+EURO' => 'IBM01142',
+    'EBCDIC-SE-278+EURO' => 'IBM01143',
+    'EBCDIC-US-37+EURO' => 'IBM01140',
+    'ECMA-114' => 'ISO-8859-6',
+    'ECMA-118' => 'ISO-8859-7',
+    'ELOT_928' => 'ISO-8859-7',
+       'EUC-CN' => 'CN-GB',
+       'EUCCN' => 'CN-GB',
+       'EUCJP' => 'EUC-JP',
+       'EUCKR' => 'EUC-KR',
+       'EUCTW' => 'EUC-TW',
+    'EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE' => 'EUC-JP',
+    'FI' => 'SEN_850200_B',
+    'FR' => 'NF_Z_62-010',
+       'FRISS' => 'EBCDIC-IS-FRISS',
+    'GB' => 'BS_4730',
+    'GB2312' => 'CN-GB',
+       'GBK' => 'CP936',
+    'GREEK' => 'ISO-8859-7',
+    'GREEK8' => 'ISO-8859-7',
+    'HEBREW' => 'ISO-8859-8',
+    'HU' => 'MSZ_7795.3',
+       'HZ-GB-2312' => 'HZ',
+    'IBM367' => 'US-ASCII',
+       'IBM775' => 'CP775',
+    'IBM819' => 'ISO-8859-1',
+    'IRV' => 'ISO_646.IRV:1983',
+    'ISO-10646' => 'ISO-10646-UNICODE-LATIN1',
+    'ISO-CELTIC' => 'ISO-8859-14',
+    'ISO-IR-10' => 'SEN_850200_B',
+    'ISO-IR-100' => 'ISO-8859-1',
+    'ISO-IR-101' => 'ISO-8859-2',
+    'ISO-IR-102' => 'T.61-7BIT',
+    'ISO-IR-109' => 'ISO-8859-3',
+    'ISO-IR-11' => 'SEN_850200_C',
+    'ISO-IR-110' => 'ISO-8859-4',
+    'ISO-IR-111' => 'ECMA-CYRILLIC',
+    'ISO-IR-121' => 'CSA_Z243.4-1985-1',
+    'ISO-IR-122' => 'CSA_Z243.4-1985-2',
+    'ISO-IR-123' => 'CSA_Z243.4-1985-GR',
+    'ISO-IR-126' => 'ISO-8859-7',
+    'ISO-IR-127' => 'ISO-8859-6',
+    'ISO-IR-128' => 'T.101-G2',
+    'ISO-IR-13' => 'JIS_C6220-1969-JP',
+    'ISO-IR-138' => 'ISO-8859-8',
+    'ISO-IR-139' => 'CSN_369103',
+    'ISO-IR-14' => 'JIS_C6220-1969-RO',
+    'ISO-IR-141' => 'JUS_I.B1.002',
+    'ISO-IR-142' => 'ISO_6937-2-ADD',
+    'ISO-IR-143' => 'IEC_P27-1',
+    'ISO-IR-144' => 'ISO-8859-5',
+    'ISO-IR-146' => 'JUS_I.B1.003-SERB',
+    'ISO-IR-147' => 'JUS_I.B1.003-MAC',
+    'ISO-IR-148' => 'ISO-8859-9',
+    'ISO-IR-149' => 'KS_C_5601-1987',
+    'ISO-IR-15' => 'IT',
+    'ISO-IR-150' => 'GREEK-CCITT',
+    'ISO-IR-151' => 'NC_NC00-10:81',
+    'ISO-IR-152' => 'ISO_6937-2-25',
+    'ISO-IR-153' => 'GOST_19768-74',
+    'ISO-IR-154' => 'ISO_8859-SUPP',
+    'ISO-IR-155' => 'ISO_10367-BOX',
+    'ISO-IR-157' => 'ISO-8859-10',
+    'ISO-IR-158' => 'LATIN-LAP',
+    'ISO-IR-159' => 'JIS_X0212-1990',
+    'ISO-IR-16' => 'PT',
+       'ISO-IR-166' => 'TIS-620',
+    'ISO-IR-17' => 'ES',
+       'ISO-IR-179' => 'ISO-8859-13',
+    'ISO-IR-18' => 'GREEK7-OLD',
+    'ISO-IR-19' => 'LATIN-GREEK',
+    'ISO-IR-199' => 'ISO-8859-14',
+    'ISO-IR-2' => 'ISO_646.IRV:1983',
+    'ISO-IR-203' => 'ISO-8859-15',
+    'ISO-IR-21' => 'DIN_66003',
+    'ISO-IR-226' => 'ISO-8859-16',
+    'ISO-IR-25' => 'NF_Z_62-010_(1973)',
+    'ISO-IR-27' => 'LATIN-GREEK-1',
+    'ISO-IR-37' => 'ISO_5427',
+    'ISO-IR-4' => 'BS_4730',
+    'ISO-IR-42' => 'JIS_C6226-1978',
+    'ISO-IR-47' => 'BS_VIEWDATA',
+    'ISO-IR-49' => 'INIS',
+    'ISO-IR-50' => 'INIS-8',
+    'ISO-IR-51' => 'INIS-CYRILLIC',
+    'ISO-IR-54' => 'ISO_5427-EXT',
+    'ISO-IR-55' => 'ISO_5428',
+    'ISO-IR-57' => 'GB_1988-80',
+    'ISO-IR-58' => 'GB_2312-80',
+    'ISO-IR-6' => 'US-ASCII',
+    'ISO-IR-60' => 'NS_4551-1',
+    'ISO-IR-61' => 'NS_4551-2',
+    'ISO-IR-69' => 'NF_Z_62-010',
+    'ISO-IR-70' => 'VIDEOTEX-SUPPL',
+    'ISO-IR-79' => 'ISO-8859-13',
+    'ISO-IR-8-1' => 'NATS-SEFI',
+    'ISO-IR-8-2' => 'NATS-SEFI-ADD',
+    'ISO-IR-84' => 'PT2',
+    'ISO-IR-85' => 'ES2',
+    'ISO-IR-86' => 'MSZ_7795.3',
+    'ISO-IR-87' => 'JIS_C6226-1983',
+    'ISO-IR-88' => 'GREEK7',
+    'ISO-IR-89' => 'ASMO_449',
+    'ISO-IR-9-1' => 'NATS-DANO',
+    'ISO-IR-9-2' => 'NATS-DANO-ADD',
+    'ISO-IR-91' => 'JIS_C6229-1984-A',
+    'ISO-IR-92' => 'JIS_C6229-1984-B',
+    'ISO-IR-93' => 'JIS_C6229-1984-B-ADD',
+    'ISO-IR-94' => 'JIS_C6229-1984-HAND',
+    'ISO-IR-95' => 'JIS_C6229-1984-HAND-ADD',
+    'ISO-IR-96' => 'JIS_C6229-1984-KANA',
+    'ISO-IR-98' => 'ISO_2033-1983',
+    'ISO-IR-99' => 'ANSI_X3.110-1983',
+    'ISO5427CYRILLIC1981' => 'ISO_5427:1981',
+    'ISO646-CA' => 'CSA_Z243.4-1985-1',
+    'ISO646-CA2' => 'CSA_Z243.4-1985-2',
+    'ISO646-CN' => 'GB_1988-80',
+    'ISO646-CU' => 'NC_NC00-10:81',
+    'ISO646-DE' => 'DIN_66003',
+    'ISO646-DK' => 'DS_2089',
+    'ISO646-ES' => 'ES',
+    'ISO646-ES2' => 'ES2',
+    'ISO646-FI' => 'SEN_850200_B',
+    'ISO646-FR' => 'NF_Z_62-010',
+    'ISO646-FR1' => 'NF_Z_62-010_(1973)',
+    'ISO646-GB' => 'BS_4730',
+    'ISO646-HU' => 'MSZ_7795.3',
+    'ISO646-IT' => 'IT',
+    'ISO646-JP' => 'JIS_C6220-1969-RO',
+    'ISO646-JP-OCR-B' => 'JIS_C6229-1984-B',
+    'ISO646-KR' => 'KSC5636',
+    'ISO646-NO' => 'NS_4551-1',
+    'ISO646-NO2' => 'NS_4551-2',
+    'ISO646-PT' => 'PT',
+    'ISO646-PT2' => 'PT2',
+    'ISO646-SE' => 'SEN_850200_B',
+    'ISO646-SE2' => 'SEN_850200_C',
+    'ISO646-US' => 'US-ASCII',
+    'ISO646-YU' => 'JUS_I.B1.002',
+       'ISO_5427:1981' => 'ISO_5427-EXT',
+    'ISO_5428:1980' => 'ISO_5428',
+    'ISO_646.IRV:1991' => 'US-ASCII',
+    'ISO_8859-1' => 'ISO-8859-1',
+    'ISO_8859-1:1987' => 'ISO-8859-1',
+    'ISO_8859-10' => 'ISO-8859-10',
+    'ISO_8859-10:1992' => 'ISO-8859-10',
+    'ISO_8859-13' => 'ISO-8859-13',
+    'ISO_8859-14' => 'ISO-8859-14',
+    'ISO_8859-14:1998' => 'ISO-8859-14',
+    'ISO_8859-15' => 'ISO-8859-15',
+    'ISO_8859-15:1998' => 'ISO-8859-15',
+    'ISO_8859-16' => 'ISO-8859-16',
+    'ISO_8859-16:2001' => 'ISO-8859-16',
+    'ISO_8859-1:1987' => 'ISO-8859-1',
+    'ISO_8859-2' => 'ISO-8859-2',
+    'ISO_8859-2:1987' => 'ISO-8859-2',
+    'ISO_8859-3' => 'ISO-8859-3',
+    'ISO_8859-3:1988' => 'ISO-8859-3',
+    'ISO_8859-4' => 'ISO-8859-4',
+    'ISO_8859-4:1988' => 'ISO-8859-4',
+    'ISO_8859-5' => 'ISO-8859-5',
+    'ISO_8859-5:1988' => 'ISO-8859-5',
+    'ISO_8859-6' => 'ISO-8859-6',
+    'ISO_8859-6-E' => 'ISO-8859-6-E',
+    'ISO_8859-6-I' => 'ISO-8859-6-I',
+    'ISO_8859-6:1987' => 'ISO-8859-6',
+    'ISO_8859-7' => 'ISO-8859-7',
+    'ISO_8859-7:1987' => 'ISO-8859-7',
+    'ISO_8859-8' => 'ISO-8859-8',
+    'ISO_8859-8-E' => 'ISO-8859-8-E',
+    'ISO_8859-8-I' => 'ISO-8859-8-I',
+    'ISO_8859-8:1988' => 'ISO-8859-8',
+    'ISO_8859-9' => 'ISO-8859-9',
+    'ISO_8859-9:1989' => 'ISO-8859-9',
+    'ISO_9036' => 'ASMO_449',
+    'JIS_C6220-1969' => 'JIS_C6220-1969-JP',
+    'JIS_X0208-1983' => 'JIS_C6226-1983',
+    'JP' => 'JIS_C6220-1969-RO',
+    'JP-OCR-A' => 'JIS_C6229-1984-A',
+    'JP-OCR-B' => 'JIS_C6229-1984-B',
+    'JP-OCR-B-ADD' => 'JIS_C6229-1984-B-ADD',
+    'JP-OCR-HAND' => 'JIS_C6229-1984-HAND',
+    'JP-OCR-HAND-ADD' => 'JIS_C6229-1984-HAND-ADD',
+    'JS' => 'JUS_I.B1.002',
+    'KATAKANA' => 'JIS_C6220-1969-JP',
+    'KOREAN' => 'KS_C_5601-1987',
+    'KSC_5601' => 'KS_C_5601-1987',
+    'KS_C_5601-1989' => 'KS_C_5601-1987',
+    'L1' => 'ISO-8859-1',
+    'L10' => 'ISO-8859-16',
+    'L2' => 'ISO-8859-2',
+    'L3' => 'ISO-8859-3',
+    'L4' => 'ISO-8859-4',
+    'L5' => 'ISO-8859-9',
+    'L6' => 'ISO-8859-10',
+       'L7' => 'ISO-8859-13',
+    'L8' => 'ISO-8859-14',
+    'LAP' => 'LATIN-LAP',
+    'LATIN-9' => 'ISO-8859-15',
+    'LATIN1' => 'ISO-8859-1',
+    'LATIN1-2-5' => 'ISO_8859-SUPP',
+    'LATIN10' => 'ISO-8859-16',
+    'LATIN2' => 'ISO-8859-2',
+    'LATIN3' => 'ISO-8859-3',
+    'LATIN4' => 'ISO-8859-4',
+    'LATIN5' => 'ISO-8859-9',
+    'LATIN6' => 'ISO-8859-10',
+       'LATIN7' => 'ISO-8859-13',
+    'LATIN8' => 'ISO-8859-14',
+    'MAC' => 'MACINTOSH',
+       'MAC-ARABIC' => 'MACARABIC',
+       'MAC-CENTRALEUROPE' => 'MACCENTRALEUROPE',
+       'MAC-CROATIAN' => 'MACCROATIAN',
+       'MAC-CYRILLIC' => 'MACCYRILLIC',
+       'MAC-GREEK' => 'MACGREEK',
+       'MAC-HEBREW' => 'MACHEBREW',
+       'MAC-ICELAND' => 'MACICELAND',
+       'MAC-ROMANIA' => 'MACROMANIA',
+       'MAC-THAI' => 'MACTHAI',
+       'MAC-TURKISH' => 'MACTURKISH',
+       'MAC-UKRAINE' => 'MACUKRAINE',
+    'MACEDONIAN' => 'JUS_I.B1.003-MAC',
+       'MS-ARAB' => 'WINDOWS-1256',
+       'MS-ANSI' => 'WINDOWS-1252',
+       'MS-EE' => 'WINDOWS-1250',
+       'MS-CYRL' => 'WINDOWS-1251',
+       'MS-GREEK' => 'WINDOWS-1253',
+       'MS-HEBR' => 'WINDOWS-1255',
+       'MS-TURK' => 'WINDOWS-1254',
+    'MS936' => 'GBK',
+    'MS_KANJI' => 'SHIFT_JIS',
+    'NAPLPS' => 'ANSI_X3.110-1983',
+    'NO' => 'NS_4551-1',
+    'NO2' => 'NS_4551-2',
+       'OS2LATIN1' => 'IBM1004',
+    'PT154' => 'PTCP154',
+    'R8' => 'HP-ROMAN8',
+    'REF' => 'ISO_646.BASIC:1983',
+    'ROMAN8' => 'HP-ROMAN8',
+    'SE' => 'SEN_850200_B',
+    'SE2' => 'SEN_850200_C',
+    'SERBIAN' => 'JUS_I.B1.003-SERB',
+    'ST_SEV_358-88' => 'GOST_19768-74',
+    'T.61' => 'T.61-8BIT',
+       'TIS620' => 'TIS-620',
+       'TIS620-0' => 'TIS-620',
+       'TIS620.2529-1' => 'TIS-620',
+       'TIS620.2533-0' => 'TIS-620',
+       'TIS620.2533-1' => 'TIS-620',
+       'UHC' => 'CP949',
+    'UK' => 'BS_4730',
+    'US' => 'US-ASCII',
+       'VISCII1.1-1' => 'VISCII',
+       'WINBALTRIM' => 'WINDOWS-1257',
+       'WINDOWS-874' => 'CP874',
+    'WINDOWS-936' => 'GBK',
+       'WINDOWS-SAMI2' => 'WIN-SAMI-2',
+       'WS2' => 'WIN-SAMI-2',
+    'X0201' => 'JIS_X0201',
+    'X0201-7' => 'JIS_C6220-1969-JP',
+    'X0208' => 'JIS_C6226-1983',
+    'X0212' => 'JIS_X0212-1990',
+    'YU' => 'JUS_I.B1.002',
+       'X-ATARI-ST' => 'ATARI-ST',
+       'X-ATARIST' => 'ATARI-ST',
+       'X-ATARI-ST-EURO' => 'ATARI-ST-EURO',
+       'X-ATARIST-EURO' => 'ATARI-ST-EURO',
+       'X-MAC-ARABIC' => 'MACARABIC',
+       'X-MAC-CENTRALEUROPE' => 'MACCENTRALEUROPE',
+       'X-MAC-CROATIAN' => 'MACCROATIAN',
+       'X-MAC-CYRILLIC' => 'MACCYRILLIC',
+       'X-MAC-GREEK' => 'MACGREEK',
+       'X-MAC-HEBREW' => 'MACHEBREW',
+       'X-MAC-ICELAND' => 'MACICELAND',
+       'X-MAC-ROMANIA' => 'MACROMANIA',
+       'X-MAC-THAI' => 'MACTHAI',
+       'X-MAC-TURKISH' => 'MACTURKISH',
+       'X-MAC-UKRAINE' => 'MACUKRAINE',
+       'X-MACARABIC' => 'MACARABIC',
+       'X-MACCENTRALEUROPE' => 'MACCENTRALEUROPE',
+       'X-MACCROATIAN' => 'MACCROATIAN',
+       'X-MACCYRILLIC' => 'MACCYRILLIC',
+       'X-MACGREEK' => 'MACGREEK',
+       'X-MACHEBREW' => 'MACHEBREW',
+       'X-MACICELAND' => 'MACICELAND',
+       'X-MACROMANIA' => 'MACROMANIA',
+       'X-MACTHAI' => 'MACTHAI',
+       'X-MACTURKISH' => 'MACTURKISH',
+       'X-MACUKRAINE' => 'MACUKRAINE',
+};
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::Recode::_Aliases - Internal Charset Alias Database for libintl-perl
+
+=head1 SYNOPSIS
+
+use Locale::Recode::_Aliases
+
+die "This module is internal to libintl.  Do not use it directly!\n";
+
+=head1 DESCRIPTION
+
+Contains a list of codeset aliases that are known internally to
+libintl.
+
+=head1 CONSTANTS
+
+=over 4
+
+=item ALIASES
+
+The constant B<Locale::Recode::_Aliases::ALIASES> contains a hash reference
+the keys of which are internally known charset alias names all in 
+uppercase.  The corresponding value is the canonical name of the charset.
+
+=back
+
+=head1 BUGS
+
+The format of the lookup table will most probably change, do not rely
+on the current format!
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/Recode/_Conversions.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/Recode/_Conversions.pm
diff -N maintain/lib/libintl-perl/lib/Locale/Recode/_Conversions.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/Recode/_Conversions.pm 12 Oct 2011 
23:51:27 -0000      1.1
@@ -0,0 +1,463 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: _Conversions.pm,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# List of internally known conversions.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::Recode::_Conversions;
+
+use strict;
+use integer;
+
+use vars qw ($conversions $optional_conversions);
+
+# These are the canonical names of the encodings always available.
+$conversions = {
+       'ASMO_449' => 'ASMO_449',
+       'ATARI-ST-EURO' => 'ATARI_ST_EURO',
+       'ATARI-ST' => 'ATARI_ST',
+       'CP10007' => 'CP10007',
+       'CSN_369103' => 'CSN_369103',
+       'CWI' => 'CWI',
+       'DEC-MCS' => 'DEC_MCS',
+       'EBCDIC-AT-DE-A' => 'EBCDIC_AT_DE_A',
+       'EBCDIC-AT-DE' => 'EBCDIC_AT_DE',
+       'EBCDIC-CA-FR' => 'EBCDIC_CA_FR',
+       'EBCDIC-DK-NO-A' => 'EBCDIC_DK_NO_A',
+       'EBCDIC-DK-NO' => 'EBCDIC_DK_NO',
+       'EBCDIC-ES-A' => 'EBCDIC_ES_A',
+       'EBCDIC-ES-S' => 'EBCDIC_ES_S',
+       'EBCDIC-ES' => 'EBCDIC_ES',
+       'EBCDIC-FI-SE-A' => 'EBCDIC_FI_SE_A',
+       'EBCDIC-FI-SE' => 'EBCDIC_FI_SE',
+       'EBCDIC-FR' => 'EBCDIC_FR',
+       'EBCDIC-IS-FRISS' => 'EBCDIC_IS_FRISS',
+       'EBCDIC-IT' => 'EBCDIC_IT',
+       'EBCDIC-PT' => 'EBCDIC_PT',
+       'EBCDIC-UK' => 'EBCDIC_UK',
+       'EBCDIC-US' => 'EBCDIC_US',
+       'ECMA-CYRILLIC' => 'ECMA_CYRILLIC',
+       'GEORGIAN-ACADEMY' => 'GEORGIAN_ACADEMY',
+       'GEORGIAN-PS' => 'GEORGIAN_PS',
+       'GOST_19768-74' => 'GOST_19768_74',
+       'GREEK-CCITT' => 'GREEK_CCITT',
+       'GREEK7-OLD' => 'GREEK7_OLD',
+       'GREEK7' => 'GREEK7',
+       'HP-ROMAN8' => 'HP_ROMAN8',
+       'IBM037' => 'IBM037',
+       'IBM038' => 'IBM038',
+       'IBM1004' => 'IBM1004',
+       'IBM1026' => 'IBM1026',
+       'IBM1047' => 'IBM1047',
+       'IBM256' => 'IBM256',
+       'IBM273' => 'IBM273',
+       'IBM274' => 'IBM274',
+       'IBM275' => 'IBM275',
+       'IBM277' => 'IBM277',
+       'IBM278' => 'IBM278',
+       'IBM280' => 'IBM280',
+       'IBM281' => 'IBM281',
+       'IBM284' => 'IBM284',
+       'IBM285' => 'IBM285',
+       'IBM290' => 'IBM290',
+       'IBM297' => 'IBM297',
+       'IBM420' => 'IBM420',
+       'IBM423' => 'IBM423',
+       'IBM424' => 'IBM424',
+       'IBM437' => 'IBM437',
+       'IBM500' => 'IBM500',
+       'IBM850' => 'IBM850',
+       'IBM851' => 'IBM851',
+       'IBM852' => 'IBM852',
+       'IBM855' => 'IBM855',
+       'IBM857' => 'IBM857',
+       'IBM860' => 'IBM860',
+       'IBM861' => 'IBM861',
+       'IBM862' => 'IBM862',
+       'IBM863' => 'IBM863',
+       'IBM864' => 'IBM864',
+       'IBM865' => 'IBM865',
+       'IBM866' => 'IBM866',
+       'IBM868' => 'IBM868',
+       'IBM869' => 'IBM869',
+       'IBM870' => 'IBM870',
+       'IBM871' => 'IBM871',
+       'IBM874' => 'IBM874',
+       'IBM875' => 'IBM875',
+       'IBM880' => 'IBM880',
+       'IBM891' => 'IBM891',
+       'IBM903' => 'IBM903',
+       'IBM904' => 'IBM904',
+       'IBM905' => 'IBM905',
+       'IBM918' => 'IBM918',
+       'IEC_P27-1' => 'IEC_P27_1',
+       'INIS-8' => 'INIS_8',
+       'INIS-CYRILLIC' => 'INIS_CYRILLIC',
+       'INIS' => 'INIS',
+       'ISO-8859-1' => 'ISO_8859_1',
+       'ISO-8859-10' => 'ISO_8859_10',
+       'ISO-8859-11' => 'ISO_8859_11',
+       'ISO-8859-13' => 'ISO_8859_13',
+       'ISO-8859-14' => 'ISO_8859_14',
+       'ISO-8859-15' => 'ISO_8859_15',
+       'ISO-8859-16' => 'ISO_8859_16',
+       'ISO-8859-2' => 'ISO_8859_2',
+       'ISO-8859-3' => 'ISO_8859_3',
+       'ISO-8859-4' => 'ISO_8859_4',
+       'ISO-8859-5' => 'ISO_8859_5',
+       'ISO-8859-6' => 'ISO_8859_6',
+       'ISO-8859-7' => 'ISO_8859_7',
+       'ISO-8859-8' => 'ISO_8859_8',
+       'ISO-8859-9' => 'ISO_8859_9',
+       'ISO_10367-BOX' => 'ISO_10367_BOX',
+       'ISO_2033-1983' => 'ISO_2033_1983',
+       'ISO_5427-EXT' => 'ISO_5427_EXT',
+       'ISO_5427' => 'ISO_5427',
+       'ISO_5428' => 'ISO_5428',
+       'KOI-8' => 'KOI_8',
+       'KOI8-R' => 'KOI8_R',
+       'KOI8-RU' => 'KOI8_RU',
+       'KOI8-T' => 'KOI8_T',
+       'KOI8-U' => 'KOI8_U',
+       'LATIN-GREEK-1' => 'LATIN_GREEK_1',
+       'LATIN-GREEK' => 'LATIN_GREEK',
+       'MACINTOSH' => 'MACINTOSH',
+       'MACARABIC' => 'MACARABIC',
+       'MACCYRILLIC' => 'MACCYRILLIC',
+       'MACCROATIAN' => 'MACCROATIAN',
+       'MACGREEK' => 'MACGREEK',
+       'MACHEBREW' => 'MACHEBREW',
+       'MACICELAND' => 'MACICELAND',
+       'MACROMANIA' => 'MACROMANIA',
+       'MACTHAI' => 'MACTHAI',
+       'MACTURKISH' => 'MACTURKISH',
+       'MACUKRAINE' => 'MACUKRAINE',
+       'MAC-IS' => 'MAC_IS',
+       'MAC-SAMI' => 'MAC_SAMI',
+       'MAC-UK' => 'MAC_UK',
+       'NATS-DANO' => 'NATS_DANO',
+       'NATS-SEFI' => 'NATS_SEFI',
+       'NEXTSTEP' => 'NEXTSTEP',
+       'TIS-620' => 'TIS_620',
+       'UTF-8' => 'UTF_8',
+       'VISCII' => 'VISCII',
+       'WIN-SAMI-2' => 'SAMI_WS2',
+       'WINDOWS-1250' => 'CP1250',
+       'WINDOWS-1251' => 'CP1251',
+       'WINDOWS-1252' => 'CP1252',
+       'WINDOWS-1253' => 'CP1253',
+       'WINDOWS-1254' => 'CP1254',
+       'WINDOWS-1256' => 'CP1256',
+       'WINDOWS-1257' => 'CP1257',
+       'US-ASCII' => 'US_ASCII',
+};
+
+# These encodings are maybe available via Encode(3pm).
+$optional_conversions = {
+       'BIG5' => undef,
+       'BIG5-HKSCS' => undef,
+       'CN-GB' => undef,
+       'CN-GB-ISOIR165' => undef,
+       'CP1006' => undef,
+       'CP1026' => undef,
+       'CP1047' => undef,
+       'CP1361' => undef,
+       'CP949' => undef,
+    'CP37' => undef,
+    'CP424' => undef,
+    'CP500' => undef,
+    'CP737' => undef,
+    'CP775' => undef,
+    'CP856' => undef,
+    'CP874' => undef,
+    'CP875' => undef,
+    'CP932' => undef,
+    'CP936' => undef,
+    'CP950' => undef,
+       'EUC-JP' => undef,
+       'EUC-KR' => undef,
+       'EUC-TW' => undef,
+    # mapping from 0xef to 0xff missing.
+       # 'HP-ROMAN8' => undef,
+       'GB18030' => undef,
+       'HZ' => undef,
+       'IBM437' => undef,
+       'IBM850' => undef,
+       'IBM852' => undef,
+       'IBM855' => undef,
+       'IBM857' => undef,
+       'IBM860' => undef,
+       'IBM861' => undef,
+       'IBM862' => undef,
+       'IBM863' => undef,
+       'IBM864' => undef,
+       'IBM865' => undef,
+       'IBM866' => undef,
+       'IBM869' => undef,
+       'ISO-10646-UCS-2' => undef,
+       'ISO-10646-UCS-4' => undef,
+       'ISO-2022-JP' => undef,
+       'ISO-2022-JP-1' => undef,
+       'ISO-2022-KR' => undef,
+       'ISO-8859-1' => undef,
+       'ISO-8859-10' => undef,
+       # This is broken in some versions of Encode.
+       # 'ISO-8859-11' => undef,
+       'ISO-8859-13' => undef,
+       'ISO-8859-14' => undef,
+       'ISO-8859-15' => undef,
+    # Errors at 0xa5 and 0xab.
+       # 'ISO-8859-16' => undef,
+       'ISO-8859-2' => undef,
+       'ISO-8859-3' => undef,
+       'ISO-8859-4' => undef,
+       'ISO-8859-5' => undef,
+    # Uses arabic digits in ascii range?!
+       # 'ISO-8859-6' => undef,
+    # 0xa1 and 0xa2 are incorrectly encoded.
+       # 'ISO-8859-7' => undef,
+    # 0xfd and 0xfe are missing.
+       # 'ISO-8859-8' => undef,
+       'ISO-8859-9' => undef,
+       'ISO-IR-149' => undef,
+       'KOI8-R' => undef,
+    # 0x95 is BULLET, not BULLET OPERATOR.
+       # 'KOI8-U' => undef,
+    # Seems to be messed up in certain Encode versions.
+       # 'MACINTOSH' => undef,
+       # TODO: Check other Mac encodings for correctness.
+       # Nextstep is completely broken in my version of Encode.
+       # 'NEXTSTEP' => undef,
+       'SHIFT_JIS' => undef,
+       'UCS-2BE' => undef,
+       'UCS-2LE' => undef,
+       'UCS-4BE' => undef,
+       'UCS-4LE' => undef,
+       'US-ASCII' => undef,
+       'UTF-16' => undef,
+       'UTF-16BE' => undef,
+       'UTF-16LE' => undef,
+       'UTF-32' => undef,
+       'UTF-32BE' => undef,
+       'UTF-32LE' => undef,
+       'UTF-8' => undef,
+    # 0x86 is missing, 0xa6 is incorrectly encoded.
+       # 'VISCII' => undef,
+       'WINDOWS-1250' => undef,
+       'WINDOWS-1251' => undef,
+       'WINDOWS-1252' => undef,
+       'WINDOWS-1253' => undef,
+       'WINDOWS-1254' => undef,
+       'WINDOWS-1255' => undef,
+       'WINDOWS-1256' => undef,
+       'WINDOWS-1257' => undef,
+       'WINDOWS-1258' => undef,
+};
+
+my $has_encode;
+
+sub resolveAlias
+{
+       my (undef, $encoding) = @_;
+
+       $encoding = uc $encoding;
+       
+       return $encoding if exists $conversions->{$encoding};
+       return $encoding if exists $optional_conversions->{$encoding};
+
+       require Locale::Recode::_Aliases;
+
+       my $resolved = Locale::Recode::_Aliases::ALIASES()->{$encoding};
+       
+       return $resolved if $resolved;
+
+       return;
+}
+
+sub isSupported
+{
+       my ($class, $encoding) = @_;
+
+       return unless defined $encoding && length $encoding;
+
+       $encoding = uc $encoding;
+       my $mimename = $class->resolveAlias ($encoding);
+
+       return unless $mimename;
+       
+       # Determine the correct module.
+       if (exists $optional_conversions->{$mimename}) {
+               unless (defined $has_encode) {
+                       eval "require Encode";
+                       $has_encode = !$@;
+
+                       if ($has_encode) {
+                               require Encode::Alias;
+
+                               # Add missing real names.
+                               Encode::Alias::define_alias (MS_KANJI => 
'ShiftJIS');
+                               Encode::Alias::define_alias ('CN-GB' => 
'EUC-CN');
+                       }
+               }
+
+               if ($has_encode) {
+                       # Now check whether Encode really supports that 
encoding.
+                       eval "Encode::encode ('$mimename', 'x')";
+               
+                       unless ($@) {
+                               $conversions->{$mimename} = '_Encode';
+                       }
+                       delete $optional_conversions->{$mimename};
+               }
+       }
+
+       return $conversions->{$mimename} if exists $conversions->{$mimename};
+
+       return;
+}
+
+sub listSupported
+{
+       my ($class) = @_;
+
+       foreach my $opt (keys %$optional_conversions) {
+               $class->isSupported ($opt);
+       }
+
+       my @list = keys %$conversions;
+       return @list;
+}
+
+# Find a conversion path.
+sub findPath
+{
+       my ($class, $from, $to) = @_;
+
+       $from = 'INTERNAL' eq uc $from ? 'INTERNAL' : $class->resolveAlias 
($from);
+       $to = 'INTERNAL' eq uc $to ? 'INTERNAL' : $class->resolveAlias ($to);
+       
+       return unless $from && $to;
+       
+       return [] if $from eq $to;
+
+       my $from_module = $class->isSupported ($from);
+       my $to_module = $class->isSupported ($to);
+
+       if (!$from_module) {
+               if ('INTERNAL' eq $from) {
+                       $from_module = $to_module or return;
+               } else {
+                       return;
+               }
+       }
+
+       if (!$to_module) {
+               if ('INTERNAL' eq $to) {
+                       $to_module = $from_module or return;
+               } else {
+                       return;
+               }
+       }
+
+       if ($from_module eq $to_module
+               || $to eq 'INTERNAL'
+               || $to eq 'UTF-8') {
+               return [[ $from_module, $from, $to ]];
+       } elsif ($from eq 'INTERNAL') {
+               return [[ $to_module, $from, $to ]];
+       } else {
+               return [[ $from_module, $from, 'INTERNAL' ],
+                               [ $to_module, 'INTERNAL', $to ]];
+       }
+}
+
+# TODO: check for
+# 7bit-jis
+# AdobeStandardEncoding
+# AdobeSymbol
+# AdobeZdingbat
+# ascii-ctrl
+# big5ext
+# big5plus
+# cccii
+# cns11643-1
+# cns11643-2
+# cns11643-3
+# cns11643-4
+# cns11643-5
+# cns11643-6
+# cns11643-7
+# cns11643-f
+# dingbats
+# gb12345-raw
+# gb2312-raw
+# gsm0338
+# jis0201-raw
+# jis0208-raw
+# jis0212-raw
+# koi8-f
+# MIME-B
+# MIME-Header
+# MIME-Q
+# posix-bc
+# symbol
+# unisys
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::Recode::_Conversions - Internal Table of Known Conversions
+
+=head1 SYNOPSIS
+
+use Locale::Recode::_Conversions
+
+This module is internal to libintl.  Do not use it directly!
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ASMO_449.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ASMO_449.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ASMO_449.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ASMO_449.pm 12 Oct 2011 
23:51:27 -0000      1.1
@@ -0,0 +1,876 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ASMO_449.pm,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# Conversion routines for ASMO_449.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ASMO_449;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x00a4,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x060c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x061b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x061f,
+    0x0040,
+    0x0621,
+    0x0622,
+    0x0623,
+    0x0624,
+    0x0625,
+    0x0626,
+    0x0627,
+    0x0628,
+    0x0629,
+    0x062a,
+    0x062b,
+    0x062c,
+    0x062d,
+    0x062e,
+    0x062f,
+    0x0630,
+    0x0631,
+    0x0632,
+    0x0633,
+    0x0634,
+    0x0635,
+    0x0636,
+    0x0637,
+    0x0638,
+    0x0639,
+    0x063a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0640,
+    0x0641,
+    0x0642,
+    0x0643,
+    0x0644,
+    0x0645,
+    0x0646,
+    0x0647,
+    0x0648,
+    0x0649,
+    0x064a,
+    0x064b,
+    0x064c,
+    0x064d,
+    0x064e,
+    0x064f,
+    0x0650,
+    0x0651,
+    0x0652,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x203e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\xc2\xa4",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\xd8\x8c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\xd8\x9b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\xd8\x9f",
+    "\x40",
+    "\xd8\xa1",
+    "\xd8\xa2",
+    "\xd8\xa3",
+    "\xd8\xa4",
+    "\xd8\xa5",
+    "\xd8\xa6",
+    "\xd8\xa7",
+    "\xd8\xa8",
+    "\xd8\xa9",
+    "\xd8\xaa",
+    "\xd8\xab",
+    "\xd8\xac",
+    "\xd8\xad",
+    "\xd8\xae",
+    "\xd8\xaf",
+    "\xd8\xb0",
+    "\xd8\xb1",
+    "\xd8\xb2",
+    "\xd8\xb3",
+    "\xd8\xb4",
+    "\xd8\xb5",
+    "\xd8\xb6",
+    "\xd8\xb7",
+    "\xd8\xb8",
+    "\xd8\xb9",
+    "\xd8\xba",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\xd9\x80",
+    "\xd9\x81",
+    "\xd9\x82",
+    "\xd9\x83",
+    "\xd9\x84",
+    "\xd9\x85",
+    "\xd9\x86",
+    "\xd9\x87",
+    "\xd9\x88",
+    "\xd9\x89",
+    "\xd9\x8a",
+    "\xd9\x8b",
+    "\xd9\x8c",
+    "\xd9\x8d",
+    "\xd9\x8e",
+    "\xd9\x8f",
+    "\xd9\x90",
+    "\xd9\x91",
+    "\xd9\x92",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\xe2\x80\xbe",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x00000040 => "\x40",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007f => "\x7f",
+    0x000000a4 => "\x24",
+    0x0000060c => "\x2c",
+    0x0000061b => "\x3b",
+    0x0000061f => "\x3f",
+    0x00000621 => "\x41",
+    0x00000622 => "\x42",
+    0x00000623 => "\x43",
+    0x00000624 => "\x44",
+    0x00000625 => "\x45",
+    0x00000626 => "\x46",
+    0x00000627 => "\x47",
+    0x00000628 => "\x48",
+    0x00000629 => "\x49",
+    0x0000062a => "\x4a",
+    0x0000062b => "\x4b",
+    0x0000062c => "\x4c",
+    0x0000062d => "\x4d",
+    0x0000062e => "\x4e",
+    0x0000062f => "\x4f",
+    0x00000630 => "\x50",
+    0x00000631 => "\x51",
+    0x00000632 => "\x52",
+    0x00000633 => "\x53",
+    0x00000634 => "\x54",
+    0x00000635 => "\x55",
+    0x00000636 => "\x56",
+    0x00000637 => "\x57",
+    0x00000638 => "\x58",
+    0x00000639 => "\x59",
+    0x0000063a => "\x5a",
+    0x00000640 => "\x60",
+    0x00000641 => "\x61",
+    0x00000642 => "\x62",
+    0x00000643 => "\x63",
+    0x00000644 => "\x64",
+    0x00000645 => "\x65",
+    0x00000646 => "\x66",
+    0x00000647 => "\x67",
+    0x00000648 => "\x68",
+    0x00000649 => "\x69",
+    0x0000064a => "\x6a",
+    0x0000064b => "\x6b",
+    0x0000064c => "\x6c",
+    0x0000064d => "\x6d",
+    0x0000064e => "\x6e",
+    0x0000064f => "\x6f",
+    0x00000650 => "\x70",
+    0x00000651 => "\x71",
+    0x00000652 => "\x72",
+    0x0000203e => "\x7e",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ASMO_449 - Conversion routines for ASMO_449
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ASMO_449.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO_9036
+ alias ARABIC7
+ alias ISO-IR-89
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  000000A4 | CURRENCY SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000060C | ARABIC COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000061B | ARABIC SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000061F | ARABIC QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000621 | ARABIC LETTER HAMZA
+    42 |  00000622 | ARABIC LETTER ALEF WITH MADDA ABOVE
+    43 |  00000623 | ARABIC LETTER ALEF WITH HAMZA ABOVE
+    44 |  00000624 | ARABIC LETTER WAW WITH HAMZA ABOVE
+    45 |  00000625 | ARABIC LETTER ALEF WITH HAMZA BELOW
+    46 |  00000626 | ARABIC LETTER YEH WITH HAMZA ABOVE
+    47 |  00000627 | ARABIC LETTER ALEF
+    48 |  00000628 | ARABIC LETTER BEH
+    49 |  00000629 | ARABIC LETTER TEH MARBUTA
+    4A |  0000062A | ARABIC LETTER TEH
+    4B |  0000062B | ARABIC LETTER THEH
+    4C |  0000062C | ARABIC LETTER JEEM
+    4D |  0000062D | ARABIC LETTER HAH
+    4E |  0000062E | ARABIC LETTER KHAH
+    4F |  0000062F | ARABIC LETTER DAL
+    50 |  00000630 | ARABIC LETTER THAL
+    51 |  00000631 | ARABIC LETTER REH
+    52 |  00000632 | ARABIC LETTER ZAIN
+    53 |  00000633 | ARABIC LETTER SEEN
+    54 |  00000634 | ARABIC LETTER SHEEN
+    55 |  00000635 | ARABIC LETTER SAD
+    56 |  00000636 | ARABIC LETTER DAD
+    57 |  00000637 | ARABIC LETTER TAH
+    58 |  00000638 | ARABIC LETTER ZAH
+    59 |  00000639 | ARABIC LETTER AIN
+    5A |  0000063A | ARABIC LETTER GHAIN
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000640 | ARABIC TATWEEL
+    61 |  00000641 | ARABIC LETTER FEH
+    62 |  00000642 | ARABIC LETTER QAF
+    63 |  00000643 | ARABIC LETTER KAF
+    64 |  00000644 | ARABIC LETTER LAM
+    65 |  00000645 | ARABIC LETTER MEEM
+    66 |  00000646 | ARABIC LETTER NOON
+    67 |  00000647 | ARABIC LETTER HEH
+    68 |  00000648 | ARABIC LETTER WAW
+    69 |  00000649 | ARABIC LETTER ALEF MAKSURA
+    6A |  0000064A | ARABIC LETTER YEH
+    6B |  0000064B | ARABIC FATHATAN
+    6C |  0000064C | ARABIC DAMMATAN
+    6D |  0000064D | ARABIC KASRATAN
+    6E |  0000064E | ARABIC FATHA
+    6F |  0000064F | ARABIC DAMMA
+    70 |  00000650 | ARABIC KASRA
+    71 |  00000651 | ARABIC SHADDA
+    72 |  00000652 | ARABIC SUKUN
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000203E | OVERLINE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST.pm 12 Oct 2011 
23:51:27 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ATARI_ST.pm,v 1.1 2011/10/12 23:51:27 pertusus Exp $
+
+# Conversion routines for ATARI-ST.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ATARI_ST;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x00ec,
+    0x00c4,
+    0x00c5,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00fb,
+    0x00f9,
+    0x00ff,
+    0x00d6,
+    0x00dc,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00df,
+    0x0192,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x00ba,
+    0x00bf,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x00e3,
+    0x00f5,
+    0x00d8,
+    0x00f8,
+    0x0153,
+    0x0152,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x00a8,
+    0x00b4,
+    0x2020,
+    0x00b6,
+    0x00a9,
+    0x00ae,
+    0x2122,
+    0x0133,
+    0x0132,
+    0x05d0,
+    0x05d1,
+    0x05d2,
+    0x05d3,
+    0x05d4,
+    0x05d5,
+    0x05d6,
+    0x05d7,
+    0x05d8,
+    0x05d9,
+    0x05db,
+    0x05dc,
+    0x05de,
+    0x05e0,
+    0x05e1,
+    0x05e2,
+    0x05e4,
+    0x05e6,
+    0x05e7,
+    0x05e8,
+    0x05e9,
+    0x05ea,
+    0x05df,
+    0x05da,
+    0x05dd,
+    0x05e3,
+    0x05e5,
+    0x00a7,
+    0x2038,
+    0x221e,
+    0x03b1,
+    0x03b2,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x03b8,
+    0x03a9,
+    0x03b4,
+    0x222e,
+    0x03c6,
+    0x2208,
+    0x220f,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2022,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x00b3,
+    0x00af,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xc3\xac",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc3\xbf",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc3\x9f",
+    "\xc6\x92",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xbf",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xa3",
+    "\xc3\xb5",
+    "\xc3\x98",
+    "\xc3\xb8",
+    "\xc5\x93",
+    "\xc5\x92",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xe2\x80\xa0",
+    "\xc2\xb6",
+    "\xc2\xa9",
+    "\xc2\xae",
+    "\xe2\x84\xa2",
+    "\xc4\xb3",
+    "\xc4\xb2",
+    "\xd7\x90",
+    "\xd7\x91",
+    "\xd7\x92",
+    "\xd7\x93",
+    "\xd7\x94",
+    "\xd7\x95",
+    "\xd7\x96",
+    "\xd7\x97",
+    "\xd7\x98",
+    "\xd7\x99",
+    "\xd7\x9b",
+    "\xd7\x9c",
+    "\xd7\x9e",
+    "\xd7\xa0",
+    "\xd7\xa1",
+    "\xd7\xa2",
+    "\xd7\xa4",
+    "\xd7\xa6",
+    "\xd7\xa7",
+    "\xd7\xa8",
+    "\xd7\xa9",
+    "\xd7\xaa",
+    "\xd7\x9f",
+    "\xd7\x9a",
+    "\xd7\x9d",
+    "\xd7\xa3",
+    "\xd7\xa5",
+    "\xc2\xa7",
+    "\xe2\x80\xb8",
+    "\xe2\x88\x9e",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\xb8",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\xae",
+    "\xcf\x86",
+    "\xe2\x88\x88",
+    "\xe2\x88\x8f",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x80\xa2",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xaf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\x9b",
+    0x000000a3 => "\x9c",
+    0x000000a5 => "\x9d",
+    0x000000a7 => "\xdd",
+    0x000000a8 => "\xb9",
+    0x000000a9 => "\xbd",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000ae => "\xbe",
+    0x000000af => "\xff",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b3 => "\xfe",
+    0x000000b4 => "\xba",
+    0x000000b5 => "\xe6",
+    0x000000b6 => "\xbc",
+    0x000000b7 => "\xfa",
+    0x000000ba => "\xa7",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000c0 => "\xb6",
+    0x000000c3 => "\xb7",
+    0x000000c4 => "\x8e",
+    0x000000c5 => "\x8f",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c9 => "\x90",
+    0x000000d1 => "\xa5",
+    0x000000d5 => "\xb8",
+    0x000000d6 => "\x99",
+    0x000000d8 => "\xb2",
+    0x000000dc => "\x9a",
+    0x000000df => "\x9e",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e3 => "\xb0",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ec => "\x8d",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f1 => "\xa4",
+    0x000000f2 => "\x95",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f5 => "\xb1",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f8 => "\xb3",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000000ff => "\x98",
+    0x00000132 => "\xc1",
+    0x00000133 => "\xc0",
+    0x00000152 => "\xb5",
+    0x00000153 => "\xb4",
+    0x00000192 => "\x9f",
+    0x00000393 => "\xe2",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b2 => "\xe1",
+    0x000003b4 => "\xeb",
+    0x000003b8 => "\xe9",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x000005d0 => "\xc2",
+    0x000005d1 => "\xc3",
+    0x000005d2 => "\xc4",
+    0x000005d3 => "\xc5",
+    0x000005d4 => "\xc6",
+    0x000005d5 => "\xc7",
+    0x000005d6 => "\xc8",
+    0x000005d7 => "\xc9",
+    0x000005d8 => "\xca",
+    0x000005d9 => "\xcb",
+    0x000005da => "\xd9",
+    0x000005db => "\xcc",
+    0x000005dc => "\xcd",
+    0x000005dd => "\xda",
+    0x000005de => "\xce",
+    0x000005df => "\xd8",
+    0x000005e0 => "\xcf",
+    0x000005e1 => "\xd0",
+    0x000005e2 => "\xd1",
+    0x000005e3 => "\xdb",
+    0x000005e4 => "\xd2",
+    0x000005e5 => "\xdc",
+    0x000005e6 => "\xd3",
+    0x000005e7 => "\xd4",
+    0x000005e8 => "\xd5",
+    0x000005e9 => "\xd6",
+    0x000005ea => "\xd7",
+    0x00002020 => "\xbb",
+    0x00002022 => "\xf9",
+    0x00002038 => "\xde",
+    0x0000207f => "\xfc",
+    0x00002122 => "\xbf",
+    0x00002208 => "\xee",
+    0x0000220f => "\xef",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xdf",
+    0x0000222e => "\xec",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ATARI_ST - Conversion routines for ATARI-ST
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ATARI-ST.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.1
+  source: Guido Flohr E<lt>address@hidden<gt>
+ alias ATARIST
+ alias X-ATARIST
+ alias X-ATARI-ST
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000A2 | CENT SIGN
+    9C |  000000A3 | POUND SIGN
+    9D |  000000A5 | YEN SIGN
+    9E |  000000DF | LATIN SMALL LETTER SHARP S
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    B1 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    B2 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B3 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    B4 |  00000153 | LATIN SMALL LIGATURE OE
+    B5 |  00000152 | LATIN CAPITAL LIGATURE OE
+    B6 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    B7 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    B8 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    B9 |  000000A8 | DIAERESIS
+    BA |  000000B4 | ACUTE ACCENT
+    BB |  00002020 | DAGGER
+    BC |  000000B6 | PILCROW SIGN
+    BD |  000000A9 | COPYRIGHT SIGN
+    BE |  000000AE | REGISTERED SIGN
+    BF |  00002122 | TRADE MARK SIGN
+    C0 |  00000133 | LATIN SMALL LIGATURE IJ
+    C1 |  00000132 | LATIN CAPITAL LIGATURE IJ
+    C2 |  000005D0 | HEBREW LETTER ALEF
+    C3 |  000005D1 | HEBREW LETTER BET
+    C4 |  000005D2 | HEBREW LETTER GIMEL
+    C5 |  000005D3 | HEBREW LETTER DALET
+    C6 |  000005D4 | HEBREW LETTER HE
+    C7 |  000005D5 | HEBREW LETTER VAV
+    C8 |  000005D6 | HEBREW LETTER ZAYIN
+    C9 |  000005D7 | HEBREW LETTER HET
+    CA |  000005D8 | HEBREW LETTER TET
+    CB |  000005D9 | HEBREW LETTER YOD
+    CC |  000005DB | HEBREW LETTER KAF
+    CD |  000005DC | HEBREW LETTER LAMED
+    CE |  000005DE | HEBREW LETTER MEM
+    CF |  000005E0 | HEBREW LETTER NUN
+    D0 |  000005E1 | HEBREW LETTER SAMEKH
+    D1 |  000005E2 | HEBREW LETTER AYIN
+    D2 |  000005E4 | HEBREW LETTER PE
+    D3 |  000005E6 | HEBREW LETTER TSADI
+    D4 |  000005E7 | HEBREW LETTER QOF
+    D5 |  000005E8 | HEBREW LETTER RESH
+    D6 |  000005E9 | HEBREW LETTER SHIN
+    D7 |  000005EA | HEBREW LETTER TAV
+    D8 |  000005DF | HEBREW LETTER FINAL NUN
+    D9 |  000005DA | HEBREW LETTER FINAL KAF
+    DA |  000005DD | HEBREW LETTER FINAL MEM
+    DB |  000005E3 | HEBREW LETTER FINAL PE
+    DC |  000005E5 | HEBREW LETTER FINAL TSADI
+    DD |  000000A7 | SECTION SIGN
+    DE |  00002038 | CARET
+    DF |  0000221E | INFINITY
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000003B2 | GREEK SMALL LETTER BETA
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  000003B8 | GREEK SMALL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000222E | CONTOUR INTEGRAL
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  00002208 | ELEMENT OF
+    EF |  0000220F | N-ARY PRODUCT
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002022 | BULLET
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000000B3 | SUPERSCRIPT THREE
+    FF |  000000AF | MACRON
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST_EURO.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST_EURO.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST_EURO.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ATARI_ST_EURO.pm    12 Oct 
2011 23:51:28 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ATARI_ST_EURO.pm,v 1.1 2011/10/12 23:51:28 pertusus Exp $
+
+# Conversion routines for ATARI-ST-EURO.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ATARI_ST_EURO;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x00ec,
+    0x00c4,
+    0x00c5,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00fb,
+    0x00f9,
+    0x00ff,
+    0x00d6,
+    0x00dc,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00df,
+    0x0192,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x00ba,
+    0x00bf,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x00e3,
+    0x00f5,
+    0x00d8,
+    0x00f8,
+    0x0153,
+    0x0152,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x00a8,
+    0x00b4,
+    0x2020,
+    0x00b6,
+    0x00a9,
+    0x00ae,
+    0x2122,
+    0x0133,
+    0x0132,
+    0x05d0,
+    0x05d1,
+    0x05d2,
+    0x05d3,
+    0x05d4,
+    0x05d5,
+    0x05d6,
+    0x05d7,
+    0x05d8,
+    0x05d9,
+    0x05db,
+    0x05dc,
+    0x05de,
+    0x05e0,
+    0x05e1,
+    0x05e2,
+    0x05e4,
+    0x05e6,
+    0x05e7,
+    0x05e8,
+    0x05e9,
+    0x05ea,
+    0x05df,
+    0x05da,
+    0x05dd,
+    0x05e3,
+    0x05e5,
+    0x00a7,
+    0x20ac,
+    0x221e,
+    0x03b1,
+    0x03b2,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x03b8,
+    0x03a9,
+    0x03b4,
+    0x222e,
+    0x03c6,
+    0x2208,
+    0x220f,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2022,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x00b3,
+    0x00af,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xc3\xac",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc3\xbf",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc3\x9f",
+    "\xc6\x92",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xbf",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xa3",
+    "\xc3\xb5",
+    "\xc3\x98",
+    "\xc3\xb8",
+    "\xc5\x93",
+    "\xc5\x92",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xe2\x80\xa0",
+    "\xc2\xb6",
+    "\xc2\xa9",
+    "\xc2\xae",
+    "\xe2\x84\xa2",
+    "\xc4\xb3",
+    "\xc4\xb2",
+    "\xd7\x90",
+    "\xd7\x91",
+    "\xd7\x92",
+    "\xd7\x93",
+    "\xd7\x94",
+    "\xd7\x95",
+    "\xd7\x96",
+    "\xd7\x97",
+    "\xd7\x98",
+    "\xd7\x99",
+    "\xd7\x9b",
+    "\xd7\x9c",
+    "\xd7\x9e",
+    "\xd7\xa0",
+    "\xd7\xa1",
+    "\xd7\xa2",
+    "\xd7\xa4",
+    "\xd7\xa6",
+    "\xd7\xa7",
+    "\xd7\xa8",
+    "\xd7\xa9",
+    "\xd7\xaa",
+    "\xd7\x9f",
+    "\xd7\x9a",
+    "\xd7\x9d",
+    "\xd7\xa3",
+    "\xd7\xa5",
+    "\xc2\xa7",
+    "\xe2\x82\xac",
+    "\xe2\x88\x9e",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\xb8",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\xae",
+    "\xcf\x86",
+    "\xe2\x88\x88",
+    "\xe2\x88\x8f",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x80\xa2",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xaf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\x9b",
+    0x000000a3 => "\x9c",
+    0x000000a5 => "\x9d",
+    0x000000a7 => "\xdd",
+    0x000000a8 => "\xb9",
+    0x000000a9 => "\xbd",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000ae => "\xbe",
+    0x000000af => "\xff",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b3 => "\xfe",
+    0x000000b4 => "\xba",
+    0x000000b5 => "\xe6",
+    0x000000b6 => "\xbc",
+    0x000000b7 => "\xfa",
+    0x000000ba => "\xa7",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000c0 => "\xb6",
+    0x000000c3 => "\xb7",
+    0x000000c4 => "\x8e",
+    0x000000c5 => "\x8f",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c9 => "\x90",
+    0x000000d1 => "\xa5",
+    0x000000d5 => "\xb8",
+    0x000000d6 => "\x99",
+    0x000000d8 => "\xb2",
+    0x000000dc => "\x9a",
+    0x000000df => "\x9e",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e3 => "\xb0",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ec => "\x8d",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f1 => "\xa4",
+    0x000000f2 => "\x95",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f5 => "\xb1",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f8 => "\xb3",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000000ff => "\x98",
+    0x00000132 => "\xc1",
+    0x00000133 => "\xc0",
+    0x00000152 => "\xb5",
+    0x00000153 => "\xb4",
+    0x00000192 => "\x9f",
+    0x00000393 => "\xe2",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b2 => "\xe1",
+    0x000003b4 => "\xeb",
+    0x000003b8 => "\xe9",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x000005d0 => "\xc2",
+    0x000005d1 => "\xc3",
+    0x000005d2 => "\xc4",
+    0x000005d3 => "\xc5",
+    0x000005d4 => "\xc6",
+    0x000005d5 => "\xc7",
+    0x000005d6 => "\xc8",
+    0x000005d7 => "\xc9",
+    0x000005d8 => "\xca",
+    0x000005d9 => "\xcb",
+    0x000005da => "\xd9",
+    0x000005db => "\xcc",
+    0x000005dc => "\xcd",
+    0x000005dd => "\xda",
+    0x000005de => "\xce",
+    0x000005df => "\xd8",
+    0x000005e0 => "\xcf",
+    0x000005e1 => "\xd0",
+    0x000005e2 => "\xd1",
+    0x000005e3 => "\xdb",
+    0x000005e4 => "\xd2",
+    0x000005e5 => "\xdc",
+    0x000005e6 => "\xd3",
+    0x000005e7 => "\xd4",
+    0x000005e8 => "\xd5",
+    0x000005e9 => "\xd6",
+    0x000005ea => "\xd7",
+    0x00002020 => "\xbb",
+    0x00002022 => "\xf9",
+    0x0000207f => "\xfc",
+    0x000020ac => "\xde",
+    0x00002122 => "\xbf",
+    0x00002208 => "\xee",
+    0x0000220f => "\xef",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xdf",
+    0x0000222e => "\xec",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ATARI_ST_EURO - Conversion routines for ATARI-ST-EURO
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ATARI-ST-EURO.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.1
+  source: Guido Flohr E<lt>address@hidden<gt>
+ alias ATARIST-EURO
+ alias X-ATARIST-EURO
+ alias X-ATARI-ST-EURO
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000A2 | CENT SIGN
+    9C |  000000A3 | POUND SIGN
+    9D |  000000A5 | YEN SIGN
+    9E |  000000DF | LATIN SMALL LETTER SHARP S
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    B1 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    B2 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B3 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    B4 |  00000153 | LATIN SMALL LIGATURE OE
+    B5 |  00000152 | LATIN CAPITAL LIGATURE OE
+    B6 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    B7 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    B8 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    B9 |  000000A8 | DIAERESIS
+    BA |  000000B4 | ACUTE ACCENT
+    BB |  00002020 | DAGGER
+    BC |  000000B6 | PILCROW SIGN
+    BD |  000000A9 | COPYRIGHT SIGN
+    BE |  000000AE | REGISTERED SIGN
+    BF |  00002122 | TRADE MARK SIGN
+    C0 |  00000133 | LATIN SMALL LIGATURE IJ
+    C1 |  00000132 | LATIN CAPITAL LIGATURE IJ
+    C2 |  000005D0 | HEBREW LETTER ALEF
+    C3 |  000005D1 | HEBREW LETTER BET
+    C4 |  000005D2 | HEBREW LETTER GIMEL
+    C5 |  000005D3 | HEBREW LETTER DALET
+    C6 |  000005D4 | HEBREW LETTER HE
+    C7 |  000005D5 | HEBREW LETTER VAV
+    C8 |  000005D6 | HEBREW LETTER ZAYIN
+    C9 |  000005D7 | HEBREW LETTER HET
+    CA |  000005D8 | HEBREW LETTER TET
+    CB |  000005D9 | HEBREW LETTER YOD
+    CC |  000005DB | HEBREW LETTER KAF
+    CD |  000005DC | HEBREW LETTER LAMED
+    CE |  000005DE | HEBREW LETTER MEM
+    CF |  000005E0 | HEBREW LETTER NUN
+    D0 |  000005E1 | HEBREW LETTER SAMEKH
+    D1 |  000005E2 | HEBREW LETTER AYIN
+    D2 |  000005E4 | HEBREW LETTER PE
+    D3 |  000005E6 | HEBREW LETTER TSADI
+    D4 |  000005E7 | HEBREW LETTER QOF
+    D5 |  000005E8 | HEBREW LETTER RESH
+    D6 |  000005E9 | HEBREW LETTER SHIN
+    D7 |  000005EA | HEBREW LETTER TAV
+    D8 |  000005DF | HEBREW LETTER FINAL NUN
+    D9 |  000005DA | HEBREW LETTER FINAL KAF
+    DA |  000005DD | HEBREW LETTER FINAL MEM
+    DB |  000005E3 | HEBREW LETTER FINAL PE
+    DC |  000005E5 | HEBREW LETTER FINAL TSADI
+    DD |  000000A7 | SECTION SIGN
+    DE |  000020AC | EURO SIGN
+    DF |  0000221E | INFINITY
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000003B2 | GREEK SMALL LETTER BETA
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  000003B8 | GREEK SMALL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000222E | CONTOUR INTEGRAL
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  00002208 | ELEMENT OF
+    EF |  0000220F | N-ARY PRODUCT
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002022 | BULLET
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000000B3 | SUPERSCRIPT THREE
+    FF |  000000AF | MACRON
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP10007.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP10007.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP10007.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP10007.pm  12 Oct 2011 
23:51:28 -0000      1.1
@@ -0,0 +1,1144 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP10007.pm,v 1.1 2011/10/12 23:51:28 pertusus Exp $
+
+# Conversion routines for CP10007.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP10007;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x2020,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x0406,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x0402,
+    0x0452,
+    0x2260,
+    0x0403,
+    0x0453,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x0456,
+    0x00b5,
+    0x0491,
+    0x0408,
+    0x0404,
+    0x0454,
+    0x0407,
+    0x0457,
+    0x0409,
+    0x0459,
+    0x040a,
+    0x045a,
+    0x0458,
+    0x0405,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x040b,
+    0x045b,
+    0x040c,
+    0x045c,
+    0x0455,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x201e,
+    0x040e,
+    0x045e,
+    0x040f,
+    0x045f,
+    0x2116,
+    0x0401,
+    0x0451,
+    0x044f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x00a4,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xd0\x86",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xd0\x82",
+    "\xd1\x92",
+    "\xe2\x89\xa0",
+    "\xd0\x83",
+    "\xd1\x93",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xd1\x96",
+    "\xc2\xb5",
+    "\xd2\x91",
+    "\xd0\x88",
+    "\xd0\x84",
+    "\xd1\x94",
+    "\xd0\x87",
+    "\xd1\x97",
+    "\xd0\x89",
+    "\xd1\x99",
+    "\xd0\x8a",
+    "\xd1\x9a",
+    "\xd1\x98",
+    "\xd0\x85",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xd0\x8b",
+    "\xd1\x9b",
+    "\xd0\x8c",
+    "\xd1\x9c",
+    "\xd1\x95",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x80\x9e",
+    "\xd0\x8e",
+    "\xd1\x9e",
+    "\xd0\x8f",
+    "\xd1\x9f",
+    "\xe2\x84\x96",
+    "\xd0\x81",
+    "\xd1\x91",
+    "\xd1\x8f",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xc2\xa4",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xff",
+    0x000000a7 => "\xa4",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000bb => "\xc8",
+    0x000000f7 => "\xd6",
+    0x00000192 => "\xc4",
+    0x00000401 => "\xdd",
+    0x00000402 => "\xab",
+    0x00000403 => "\xae",
+    0x00000404 => "\xb8",
+    0x00000405 => "\xc1",
+    0x00000406 => "\xa7",
+    0x00000407 => "\xba",
+    0x00000408 => "\xb7",
+    0x00000409 => "\xbc",
+    0x0000040a => "\xbe",
+    0x0000040b => "\xcb",
+    0x0000040c => "\xcd",
+    0x0000040e => "\xd8",
+    0x0000040f => "\xda",
+    0x00000410 => "\x80",
+    0x00000411 => "\x81",
+    0x00000412 => "\x82",
+    0x00000413 => "\x83",
+    0x00000414 => "\x84",
+    0x00000415 => "\x85",
+    0x00000416 => "\x86",
+    0x00000417 => "\x87",
+    0x00000418 => "\x88",
+    0x00000419 => "\x89",
+    0x0000041a => "\x8a",
+    0x0000041b => "\x8b",
+    0x0000041c => "\x8c",
+    0x0000041d => "\x8d",
+    0x0000041e => "\x8e",
+    0x0000041f => "\x8f",
+    0x00000420 => "\x90",
+    0x00000421 => "\x91",
+    0x00000422 => "\x92",
+    0x00000423 => "\x93",
+    0x00000424 => "\x94",
+    0x00000425 => "\x95",
+    0x00000426 => "\x96",
+    0x00000427 => "\x97",
+    0x00000428 => "\x98",
+    0x00000429 => "\x99",
+    0x0000042a => "\x9a",
+    0x0000042b => "\x9b",
+    0x0000042c => "\x9c",
+    0x0000042d => "\x9d",
+    0x0000042e => "\x9e",
+    0x0000042f => "\x9f",
+    0x00000430 => "\xe0",
+    0x00000431 => "\xe1",
+    0x00000432 => "\xe2",
+    0x00000433 => "\xe3",
+    0x00000434 => "\xe4",
+    0x00000435 => "\xe5",
+    0x00000436 => "\xe6",
+    0x00000437 => "\xe7",
+    0x00000438 => "\xe8",
+    0x00000439 => "\xe9",
+    0x0000043a => "\xea",
+    0x0000043b => "\xeb",
+    0x0000043c => "\xec",
+    0x0000043d => "\xed",
+    0x0000043e => "\xee",
+    0x0000043f => "\xef",
+    0x00000440 => "\xf0",
+    0x00000441 => "\xf1",
+    0x00000442 => "\xf2",
+    0x00000443 => "\xf3",
+    0x00000444 => "\xf4",
+    0x00000445 => "\xf5",
+    0x00000446 => "\xf6",
+    0x00000447 => "\xf7",
+    0x00000448 => "\xf8",
+    0x00000449 => "\xf9",
+    0x0000044a => "\xfa",
+    0x0000044b => "\xfb",
+    0x0000044c => "\xfc",
+    0x0000044d => "\xfd",
+    0x0000044e => "\xfe",
+    0x0000044f => "\xdf",
+    0x00000451 => "\xde",
+    0x00000452 => "\xac",
+    0x00000453 => "\xaf",
+    0x00000454 => "\xb9",
+    0x00000455 => "\xcf",
+    0x00000456 => "\xb4",
+    0x00000457 => "\xbb",
+    0x00000458 => "\xc0",
+    0x00000459 => "\xbd",
+    0x0000045a => "\xbf",
+    0x0000045b => "\xcc",
+    0x0000045c => "\xce",
+    0x0000045e => "\xd9",
+    0x0000045f => "\xdb",
+    0x00000491 => "\xb6",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xd7",
+    0x00002020 => "\xa0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002116 => "\xdc",
+    0x00002122 => "\xaa",
+    0x00002206 => "\xc6",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP10007 - Conversion routines for CP10007
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP10007.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ This is the old MacCyrillic which M$ keeps around as CP10007.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  00000410 | CYRILLIC CAPITAL LETTER A
+    81 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    82 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    83 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    84 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    85 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    86 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    87 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    88 |  00000418 | CYRILLIC CAPITAL LETTER I
+    89 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    8A |  0000041A | CYRILLIC CAPITAL LETTER KA
+    8B |  0000041B | CYRILLIC CAPITAL LETTER EL
+    8C |  0000041C | CYRILLIC CAPITAL LETTER EM
+    8D |  0000041D | CYRILLIC CAPITAL LETTER EN
+    8E |  0000041E | CYRILLIC CAPITAL LETTER O
+    8F |  0000041F | CYRILLIC CAPITAL LETTER PE
+    90 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    91 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    92 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    93 |  00000423 | CYRILLIC CAPITAL LETTER U
+    94 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    95 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    96 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    97 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    98 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    99 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    9A |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    9B |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    9C |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    9D |  0000042D | CYRILLIC CAPITAL LETTER E
+    9E |  0000042E | CYRILLIC CAPITAL LETTER YU
+    9F |  0000042F | CYRILLIC CAPITAL LETTER YA
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  00000402 | CYRILLIC CAPITAL LETTER DJE
+    AC |  00000452 | CYRILLIC SMALL LETTER DJE
+    AD |  00002260 | NOT EQUAL TO
+    AE |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    AF |  00000453 | CYRILLIC SMALL LETTER GJE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
+    B7 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    B8 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    B9 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    BA |  00000407 | CYRILLIC CAPITAL LETTER YI
+    BB |  00000457 | CYRILLIC SMALL LETTER YI
+    BC |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    BD |  00000459 | CYRILLIC SMALL LETTER LJE
+    BE |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    BF |  0000045A | CYRILLIC SMALL LETTER NJE
+    C0 |  00000458 | CYRILLIC SMALL LETTER JE
+    C1 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  0000040B | CYRILLIC CAPITAL LETTER TSHE
+    CC |  0000045B | CYRILLIC SMALL LETTER TSHE
+    CD |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    CE |  0000045C | CYRILLIC SMALL LETTER KJE
+    CF |  00000455 | CYRILLIC SMALL LETTER DZE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    D8 |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
+    D9 |  0000045E | CYRILLIC SMALL LETTER SHORT U
+    DA |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    DB |  0000045F | CYRILLIC SMALL LETTER DZHE
+    DC |  00002116 | NUMERO SIGN
+    DD |  00000401 | CYRILLIC CAPITAL LETTER IO
+    DE |  00000451 | CYRILLIC SMALL LETTER IO
+    DF |  0000044F | CYRILLIC SMALL LETTER YA
+    E0 |  00000430 | CYRILLIC SMALL LETTER A
+    E1 |  00000431 | CYRILLIC SMALL LETTER BE
+    E2 |  00000432 | CYRILLIC SMALL LETTER VE
+    E3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    E4 |  00000434 | CYRILLIC SMALL LETTER DE
+    E5 |  00000435 | CYRILLIC SMALL LETTER IE
+    E6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    E7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    E8 |  00000438 | CYRILLIC SMALL LETTER I
+    E9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    EA |  0000043A | CYRILLIC SMALL LETTER KA
+    EB |  0000043B | CYRILLIC SMALL LETTER EL
+    EC |  0000043C | CYRILLIC SMALL LETTER EM
+    ED |  0000043D | CYRILLIC SMALL LETTER EN
+    EE |  0000043E | CYRILLIC SMALL LETTER O
+    EF |  0000043F | CYRILLIC SMALL LETTER PE
+    F0 |  00000440 | CYRILLIC SMALL LETTER ER
+    F1 |  00000441 | CYRILLIC SMALL LETTER ES
+    F2 |  00000442 | CYRILLIC SMALL LETTER TE
+    F3 |  00000443 | CYRILLIC SMALL LETTER U
+    F4 |  00000444 | CYRILLIC SMALL LETTER EF
+    F5 |  00000445 | CYRILLIC SMALL LETTER HA
+    F6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    F7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    F8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    F9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    FA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    FB |  0000044B | CYRILLIC SMALL LETTER YERU
+    FC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    FD |  0000044D | CYRILLIC SMALL LETTER E
+    FE |  0000044E | CYRILLIC SMALL LETTER YU
+    FF |  000000A4 | CURRENCY SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1250.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1250.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1250.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1250.pm   12 Oct 2011 
23:51:28 -0000      1.1
@@ -0,0 +1,1137 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP1250.pm,v 1.1 2011/10/12 23:51:28 pertusus Exp $
+
+# Conversion routines for CP1250.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP1250;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0xfffd,
+    0x201a,
+    0xfffd,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0xfffd,
+    0x2030,
+    0x0160,
+    0x2039,
+    0x015a,
+    0x0164,
+    0x017d,
+    0x0179,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0xfffd,
+    0x2122,
+    0x0161,
+    0x203a,
+    0x015b,
+    0x0165,
+    0x017e,
+    0x017a,
+    0x00a0,
+    0x02c7,
+    0x02d8,
+    0x0141,
+    0x00a4,
+    0x0104,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x015e,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x017b,
+    0x00b0,
+    0x00b1,
+    0x02db,
+    0x0142,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x0105,
+    0x015f,
+    0x00bb,
+    0x013d,
+    0x02dd,
+    0x013e,
+    0x017c,
+    0x0154,
+    0x00c1,
+    0x00c2,
+    0x0102,
+    0x00c4,
+    0x0139,
+    0x0106,
+    0x00c7,
+    0x010c,
+    0x00c9,
+    0x0118,
+    0x00cb,
+    0x011a,
+    0x00cd,
+    0x00ce,
+    0x010e,
+    0x0110,
+    0x0143,
+    0x0147,
+    0x00d3,
+    0x00d4,
+    0x0150,
+    0x00d6,
+    0x00d7,
+    0x0158,
+    0x016e,
+    0x00da,
+    0x0170,
+    0x00dc,
+    0x00dd,
+    0x0162,
+    0x00df,
+    0x0155,
+    0x00e1,
+    0x00e2,
+    0x0103,
+    0x00e4,
+    0x013a,
+    0x0107,
+    0x00e7,
+    0x010d,
+    0x00e9,
+    0x0119,
+    0x00eb,
+    0x011b,
+    0x00ed,
+    0x00ee,
+    0x010f,
+    0x0111,
+    0x0144,
+    0x0148,
+    0x00f3,
+    0x00f4,
+    0x0151,
+    0x00f6,
+    0x00f7,
+    0x0159,
+    0x016f,
+    0x00fa,
+    0x0171,
+    0x00fc,
+    0x00fd,
+    0x0163,
+    0x02d9,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9a",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xb0",
+    "\xc5\xa0",
+    "\xe2\x80\xb9",
+    "\xc5\x9a",
+    "\xc5\xa4",
+    "\xc5\xbd",
+    "\xc5\xb9",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xef\xbf\xbd",
+    "\xe2\x84\xa2",
+    "\xc5\xa1",
+    "\xe2\x80\xba",
+    "\xc5\x9b",
+    "\xc5\xa5",
+    "\xc5\xbe",
+    "\xc5\xba",
+    "\xc2\xa0",
+    "\xcb\x87",
+    "\xcb\x98",
+    "\xc5\x81",
+    "\xc2\xa4",
+    "\xc4\x84",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc5\x9e",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc5\xbb",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xcb\x9b",
+    "\xc5\x82",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc4\x85",
+    "\xc5\x9f",
+    "\xc2\xbb",
+    "\xc4\xbd",
+    "\xcb\x9d",
+    "\xc4\xbe",
+    "\xc5\xbc",
+    "\xc5\x94",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc4\x82",
+    "\xc3\x84",
+    "\xc4\xb9",
+    "\xc4\x86",
+    "\xc3\x87",
+    "\xc4\x8c",
+    "\xc3\x89",
+    "\xc4\x98",
+    "\xc3\x8b",
+    "\xc4\x9a",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc4\x8e",
+    "\xc4\x90",
+    "\xc5\x83",
+    "\xc5\x87",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc5\x90",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc5\x98",
+    "\xc5\xae",
+    "\xc3\x9a",
+    "\xc5\xb0",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc5\xa2",
+    "\xc3\x9f",
+    "\xc5\x95",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc4\x83",
+    "\xc3\xa4",
+    "\xc4\xba",
+    "\xc4\x87",
+    "\xc3\xa7",
+    "\xc4\x8d",
+    "\xc3\xa9",
+    "\xc4\x99",
+    "\xc3\xab",
+    "\xc4\x9b",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc4\x8f",
+    "\xc4\x91",
+    "\xc5\x84",
+    "\xc5\x88",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc5\x91",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc5\x99",
+    "\xc5\xaf",
+    "\xc3\xba",
+    "\xc5\xb1",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc5\xa3",
+    "\xcb\x99",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a4 => "\xa4",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000bb => "\xbb",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c4 => "\xc4",
+    0x000000c7 => "\xc7",
+    0x000000c9 => "\xc9",
+    0x000000cb => "\xcb",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000da => "\xda",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000df => "\xdf",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e4 => "\xe4",
+    0x000000e7 => "\xe7",
+    0x000000e9 => "\xe9",
+    0x000000eb => "\xeb",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000fa => "\xfa",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x00000102 => "\xc3",
+    0x00000103 => "\xe3",
+    0x00000104 => "\xa5",
+    0x00000105 => "\xb9",
+    0x00000106 => "\xc6",
+    0x00000107 => "\xe6",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x0000010e => "\xcf",
+    0x0000010f => "\xef",
+    0x00000110 => "\xd0",
+    0x00000111 => "\xf0",
+    0x00000118 => "\xca",
+    0x00000119 => "\xea",
+    0x0000011a => "\xcc",
+    0x0000011b => "\xec",
+    0x00000139 => "\xc5",
+    0x0000013a => "\xe5",
+    0x0000013d => "\xbc",
+    0x0000013e => "\xbe",
+    0x00000141 => "\xa3",
+    0x00000142 => "\xb3",
+    0x00000143 => "\xd1",
+    0x00000144 => "\xf1",
+    0x00000147 => "\xd2",
+    0x00000148 => "\xf2",
+    0x00000150 => "\xd5",
+    0x00000151 => "\xf5",
+    0x00000154 => "\xc0",
+    0x00000155 => "\xe0",
+    0x00000158 => "\xd8",
+    0x00000159 => "\xf8",
+    0x0000015a => "\x8c",
+    0x0000015b => "\x9c",
+    0x0000015e => "\xaa",
+    0x0000015f => "\xba",
+    0x00000160 => "\x8a",
+    0x00000161 => "\x9a",
+    0x00000162 => "\xde",
+    0x00000163 => "\xfe",
+    0x00000164 => "\x8d",
+    0x00000165 => "\x9d",
+    0x0000016e => "\xd9",
+    0x0000016f => "\xf9",
+    0x00000170 => "\xdb",
+    0x00000171 => "\xfb",
+    0x00000179 => "\x8f",
+    0x0000017a => "\x9f",
+    0x0000017b => "\xaf",
+    0x0000017c => "\xbf",
+    0x0000017d => "\x8e",
+    0x0000017e => "\x9e",
+    0x000002c7 => "\xa1",
+    0x000002d8 => "\xa2",
+    0x000002d9 => "\xff",
+    0x000002db => "\xb2",
+    0x000002dd => "\xbd",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x80",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP1250 - Conversion routines for CP1250
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP1250.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: UNICODE 1.0
+ alias MS-EE
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000020AC | EURO SIGN
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    8D |  00000164 | LATIN CAPITAL LETTER T WITH CARON
+    8E |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    8F |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    9D |  00000165 | LATIN SMALL LETTER T WITH CARON
+    9E |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    9F |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000002C7 | CARON (Mandarin Chinese third tone)
+    A2 |  000002D8 | BREVE
+    A3 |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000002DB | OGONEK
+    B3 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    BA |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  0000013D | LATIN CAPITAL LETTER L WITH CARON
+    BD |  000002DD | DOUBLE ACUTE ACCENT
+    BE |  0000013E | LATIN SMALL LETTER L WITH CARON
+    BF |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    C0 |  00000154 | LATIN CAPITAL LETTER R WITH ACUTE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  00000139 | LATIN CAPITAL LETTER L WITH ACUTE
+    C6 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  0000011A | LATIN CAPITAL LETTER E WITH CARON
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  0000010E | LATIN CAPITAL LETTER D WITH CARON
+    D0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D1 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    D2 |  00000147 | LATIN CAPITAL LETTER N WITH CARON
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  00000158 | LATIN CAPITAL LETTER R WITH CARON
+    D9 |  0000016E | LATIN CAPITAL LETTER U WITH RING ABOVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  00000162 | LATIN CAPITAL LETTER T WITH CEDILLA
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  00000155 | LATIN SMALL LETTER R WITH ACUTE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  0000013A | LATIN SMALL LETTER L WITH ACUTE
+    E6 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  0000011B | LATIN SMALL LETTER E WITH CARON
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  0000010F | LATIN SMALL LETTER D WITH CARON
+    F0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    F1 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    F2 |  00000148 | LATIN SMALL LETTER N WITH CARON
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  00000159 | LATIN SMALL LETTER R WITH CARON
+    F9 |  0000016F | LATIN SMALL LETTER U WITH RING ABOVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  00000163 | LATIN SMALL LETTER T WITH CEDILLA
+    FF |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1251.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1251.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1251.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1251.pm   12 Oct 2011 
23:51:28 -0000      1.1
@@ -0,0 +1,1145 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP1251.pm,v 1.1 2011/10/12 23:51:28 pertusus Exp $
+
+# Conversion routines for CP1251.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP1251;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0402,
+    0x0403,
+    0x201a,
+    0x0453,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0x20ac,
+    0x2030,
+    0x0409,
+    0x2039,
+    0x040a,
+    0x040c,
+    0x040b,
+    0x040f,
+    0x0452,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0xfffd,
+    0x2122,
+    0x0459,
+    0x203a,
+    0x045a,
+    0x045c,
+    0x045b,
+    0x045f,
+    0x00a0,
+    0x040e,
+    0x045e,
+    0x0408,
+    0x00a4,
+    0x0490,
+    0x00a6,
+    0x00a7,
+    0x0401,
+    0x00a9,
+    0x0404,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x0407,
+    0x00b0,
+    0x00b1,
+    0x0406,
+    0x0456,
+    0x0491,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x0451,
+    0x2116,
+    0x0454,
+    0x00bb,
+    0x0458,
+    0x0405,
+    0x0455,
+    0x0457,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x044f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd0\x82",
+    "\xd0\x83",
+    "\xe2\x80\x9a",
+    "\xd1\x93",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xe2\x82\xac",
+    "\xe2\x80\xb0",
+    "\xd0\x89",
+    "\xe2\x80\xb9",
+    "\xd0\x8a",
+    "\xd0\x8c",
+    "\xd0\x8b",
+    "\xd0\x8f",
+    "\xd1\x92",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xef\xbf\xbd",
+    "\xe2\x84\xa2",
+    "\xd1\x99",
+    "\xe2\x80\xba",
+    "\xd1\x9a",
+    "\xd1\x9c",
+    "\xd1\x9b",
+    "\xd1\x9f",
+    "\xc2\xa0",
+    "\xd0\x8e",
+    "\xd1\x9e",
+    "\xd0\x88",
+    "\xc2\xa4",
+    "\xd2\x90",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xd0\x81",
+    "\xc2\xa9",
+    "\xd0\x84",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xd0\x87",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xd0\x86",
+    "\xd1\x96",
+    "\xd2\x91",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xd1\x91",
+    "\xe2\x84\x96",
+    "\xd1\x94",
+    "\xc2\xbb",
+    "\xd1\x98",
+    "\xd0\x85",
+    "\xd1\x95",
+    "\xd1\x97",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xd1\x8f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a4 => "\xa4",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000bb => "\xbb",
+    0x00000401 => "\xa8",
+    0x00000402 => "\x80",
+    0x00000403 => "\x81",
+    0x00000404 => "\xaa",
+    0x00000405 => "\xbd",
+    0x00000406 => "\xb2",
+    0x00000407 => "\xaf",
+    0x00000408 => "\xa3",
+    0x00000409 => "\x8a",
+    0x0000040a => "\x8c",
+    0x0000040b => "\x8e",
+    0x0000040c => "\x8d",
+    0x0000040e => "\xa1",
+    0x0000040f => "\x8f",
+    0x00000410 => "\xc0",
+    0x00000411 => "\xc1",
+    0x00000412 => "\xc2",
+    0x00000413 => "\xc3",
+    0x00000414 => "\xc4",
+    0x00000415 => "\xc5",
+    0x00000416 => "\xc6",
+    0x00000417 => "\xc7",
+    0x00000418 => "\xc8",
+    0x00000419 => "\xc9",
+    0x0000041a => "\xca",
+    0x0000041b => "\xcb",
+    0x0000041c => "\xcc",
+    0x0000041d => "\xcd",
+    0x0000041e => "\xce",
+    0x0000041f => "\xcf",
+    0x00000420 => "\xd0",
+    0x00000421 => "\xd1",
+    0x00000422 => "\xd2",
+    0x00000423 => "\xd3",
+    0x00000424 => "\xd4",
+    0x00000425 => "\xd5",
+    0x00000426 => "\xd6",
+    0x00000427 => "\xd7",
+    0x00000428 => "\xd8",
+    0x00000429 => "\xd9",
+    0x0000042a => "\xda",
+    0x0000042b => "\xdb",
+    0x0000042c => "\xdc",
+    0x0000042d => "\xdd",
+    0x0000042e => "\xde",
+    0x0000042f => "\xdf",
+    0x00000430 => "\xe0",
+    0x00000431 => "\xe1",
+    0x00000432 => "\xe2",
+    0x00000433 => "\xe3",
+    0x00000434 => "\xe4",
+    0x00000435 => "\xe5",
+    0x00000436 => "\xe6",
+    0x00000437 => "\xe7",
+    0x00000438 => "\xe8",
+    0x00000439 => "\xe9",
+    0x0000043a => "\xea",
+    0x0000043b => "\xeb",
+    0x0000043c => "\xec",
+    0x0000043d => "\xed",
+    0x0000043e => "\xee",
+    0x0000043f => "\xef",
+    0x00000440 => "\xf0",
+    0x00000441 => "\xf1",
+    0x00000442 => "\xf2",
+    0x00000443 => "\xf3",
+    0x00000444 => "\xf4",
+    0x00000445 => "\xf5",
+    0x00000446 => "\xf6",
+    0x00000447 => "\xf7",
+    0x00000448 => "\xf8",
+    0x00000449 => "\xf9",
+    0x0000044a => "\xfa",
+    0x0000044b => "\xfb",
+    0x0000044c => "\xfc",
+    0x0000044d => "\xfd",
+    0x0000044e => "\xfe",
+    0x0000044f => "\xff",
+    0x00000451 => "\xb8",
+    0x00000452 => "\x90",
+    0x00000453 => "\x83",
+    0x00000454 => "\xba",
+    0x00000455 => "\xbe",
+    0x00000456 => "\xb3",
+    0x00000457 => "\xbf",
+    0x00000458 => "\xbc",
+    0x00000459 => "\x9a",
+    0x0000045a => "\x9c",
+    0x0000045b => "\x9e",
+    0x0000045c => "\x9d",
+    0x0000045e => "\xa2",
+    0x0000045f => "\x9f",
+    0x00000490 => "\xa5",
+    0x00000491 => "\xb4",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x88",
+    0x00002116 => "\xb9",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP1251 - Conversion routines for CP1251
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP1251.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: UNICODE 1.0
+ alias MS-CYRL
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000402 | CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
+    81 |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000453 | CYRILLIC SMALL LETTER GJE
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    88 |  000020AC | EURO SIGN
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    8D |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    8E |  0000040B | CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
+    8F |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    90 |  00000452 | CYRILLIC SMALL LETTER DJE (Serbocroatian)
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000459 | CYRILLIC SMALL LETTER LJE
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  0000045A | CYRILLIC SMALL LETTER NJE
+    9D |  0000045C | CYRILLIC SMALL LETTER KJE
+    9E |  0000045B | CYRILLIC SMALL LETTER TSHE (Serbocroatian)
+    9F |  0000045F | CYRILLIC SMALL LETTER DZHE
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  0000040E | CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
+    A2 |  0000045E | CYRILLIC SMALL LETTER SHORT U (Byelorussian)
+    A3 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  00000407 | CYRILLIC CAPITAL LETTER YI (Ukrainian)
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    B3 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    B4 |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  00000451 | CYRILLIC SMALL LETTER IO
+    B9 |  00002116 | NUMERO SIGN
+    BA |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  00000458 | CYRILLIC SMALL LETTER JE
+    BD |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    BE |  00000455 | CYRILLIC SMALL LETTER DZE
+    BF |  00000457 | CYRILLIC SMALL LETTER YI (Ukrainian)
+    C0 |  00000410 | CYRILLIC CAPITAL LETTER A
+    C1 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    C2 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    C3 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    C4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    C5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    C6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    C7 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    C8 |  00000418 | CYRILLIC CAPITAL LETTER I
+    C9 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    CA |  0000041A | CYRILLIC CAPITAL LETTER KA
+    CB |  0000041B | CYRILLIC CAPITAL LETTER EL
+    CC |  0000041C | CYRILLIC CAPITAL LETTER EM
+    CD |  0000041D | CYRILLIC CAPITAL LETTER EN
+    CE |  0000041E | CYRILLIC CAPITAL LETTER O
+    CF |  0000041F | CYRILLIC CAPITAL LETTER PE
+    D0 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    D1 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    D2 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    D3 |  00000423 | CYRILLIC CAPITAL LETTER U
+    D4 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    D5 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    D6 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    D7 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    D8 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    D9 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    DA |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    DB |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    DC |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    DD |  0000042D | CYRILLIC CAPITAL LETTER E
+    DE |  0000042E | CYRILLIC CAPITAL LETTER YU
+    DF |  0000042F | CYRILLIC CAPITAL LETTER YA
+    E0 |  00000430 | CYRILLIC SMALL LETTER A
+    E1 |  00000431 | CYRILLIC SMALL LETTER BE
+    E2 |  00000432 | CYRILLIC SMALL LETTER VE
+    E3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    E4 |  00000434 | CYRILLIC SMALL LETTER DE
+    E5 |  00000435 | CYRILLIC SMALL LETTER IE
+    E6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    E7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    E8 |  00000438 | CYRILLIC SMALL LETTER I
+    E9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    EA |  0000043A | CYRILLIC SMALL LETTER KA
+    EB |  0000043B | CYRILLIC SMALL LETTER EL
+    EC |  0000043C | CYRILLIC SMALL LETTER EM
+    ED |  0000043D | CYRILLIC SMALL LETTER EN
+    EE |  0000043E | CYRILLIC SMALL LETTER O
+    EF |  0000043F | CYRILLIC SMALL LETTER PE
+    F0 |  00000440 | CYRILLIC SMALL LETTER ER
+    F1 |  00000441 | CYRILLIC SMALL LETTER ES
+    F2 |  00000442 | CYRILLIC SMALL LETTER TE
+    F3 |  00000443 | CYRILLIC SMALL LETTER U
+    F4 |  00000444 | CYRILLIC SMALL LETTER EF
+    F5 |  00000445 | CYRILLIC SMALL LETTER HA
+    F6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    F7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    F8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    F9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    FA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    FB |  0000044B | CYRILLIC SMALL LETTER YERU
+    FC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    FD |  0000044D | CYRILLIC SMALL LETTER E
+    FE |  0000044E | CYRILLIC SMALL LETTER YU
+    FF |  0000044F | CYRILLIC SMALL LETTER YA
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1252.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1252.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1252.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1252.pm   12 Oct 2011 
23:51:28 -0000      1.1
@@ -0,0 +1,1137 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP1252.pm,v 1.1 2011/10/12 23:51:28 pertusus Exp $
+
+# Conversion routines for CP1252.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP1252;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0xfffd,
+    0x201a,
+    0x0192,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0x02c6,
+    0x2030,
+    0x0160,
+    0x2039,
+    0x0152,
+    0xfffd,
+    0x017d,
+    0xfffd,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0x02dc,
+    0x2122,
+    0x0161,
+    0x203a,
+    0x0153,
+    0xfffd,
+    0x017e,
+    0x0178,
+    0x00a0,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00bf,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00d0,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x00dd,
+    0x00de,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x00fe,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9a",
+    "\xc6\x92",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xcb\x86",
+    "\xe2\x80\xb0",
+    "\xc5\xa0",
+    "\xe2\x80\xb9",
+    "\xc5\x92",
+    "\xef\xbf\xbd",
+    "\xc5\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xcb\x9c",
+    "\xe2\x84\xa2",
+    "\xc5\xa1",
+    "\xe2\x80\xba",
+    "\xc5\x93",
+    "\xef\xbf\xbd",
+    "\xc5\xbe",
+    "\xc5\xb8",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xbf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x90",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000bf => "\xbf",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d0 => "\xd0",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000de => "\xde",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f0 => "\xf0",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000fe => "\xfe",
+    0x000000ff => "\xff",
+    0x00000152 => "\x8c",
+    0x00000153 => "\x9c",
+    0x00000160 => "\x8a",
+    0x00000161 => "\x9a",
+    0x00000178 => "\x9f",
+    0x0000017d => "\x8e",
+    0x0000017e => "\x9e",
+    0x00000192 => "\x83",
+    0x000002c6 => "\x88",
+    0x000002dc => "\x98",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x80",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP1252 - Conversion routines for CP1252
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP1252.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: UNICODE 1.0
+ alias MS-ANSI
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000020AC | EURO SIGN
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    88 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  00000152 | LATIN CAPITAL LIGATURE OE
+    8E |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    98 |  000002DC | SMALL TILDE
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  00000153 | LATIN SMALL LIGATURE OE
+    9E |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    9F |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1253.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1253.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1253.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1253.pm   12 Oct 2011 
23:51:28 -0000      1.1
@@ -0,0 +1,1113 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP1253.pm,v 1.1 2011/10/12 23:51:28 pertusus Exp $
+
+# Conversion routines for CP1253.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP1253;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0xfffd,
+    0x201a,
+    0x0192,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0xfffd,
+    0x2030,
+    0xfffd,
+    0x2039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0xfffd,
+    0x2122,
+    0xfffd,
+    0x203a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a0,
+    0x0385,
+    0x0386,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0xfffd,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x2015,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x0384,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x0388,
+    0x0389,
+    0x038a,
+    0x00bb,
+    0x038c,
+    0x00bd,
+    0x038e,
+    0x038f,
+    0x0390,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x0398,
+    0x0399,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039e,
+    0x039f,
+    0x03a0,
+    0x03a1,
+    0xfffd,
+    0x03a3,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0x03aa,
+    0x03ab,
+    0x03ac,
+    0x03ad,
+    0x03ae,
+    0x03af,
+    0x03b0,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c2,
+    0x03c3,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x03c8,
+    0x03c9,
+    0x03ca,
+    0x03cb,
+    0x03cc,
+    0x03cd,
+    0x03ce,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9a",
+    "\xc6\x92",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xb0",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xb9",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xef\xbf\xbd",
+    "\xe2\x84\xa2",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xba",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa0",
+    "\xce\x85",
+    "\xce\x86",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xef\xbf\xbd",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xe2\x80\x95",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xce\x84",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xce\x88",
+    "\xce\x89",
+    "\xce\x8a",
+    "\xc2\xbb",
+    "\xce\x8c",
+    "\xc2\xbd",
+    "\xce\x8e",
+    "\xce\x8f",
+    "\xce\x90",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x98",
+    "\xce\x99",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xef\xbf\xbd",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xce\xaa",
+    "\xce\xab",
+    "\xce\xac",
+    "\xce\xad",
+    "\xce\xae",
+    "\xce\xaf",
+    "\xce\xb0",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x82",
+    "\xcf\x83",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\xcf\x89",
+    "\xcf\x8a",
+    "\xcf\x8b",
+    "\xcf\x8c",
+    "\xcf\x8d",
+    "\xcf\x8e",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000bb => "\xbb",
+    0x000000bd => "\xbd",
+    0x00000192 => "\x83",
+    0x00000384 => "\xb4",
+    0x00000385 => "\xa1",
+    0x00000386 => "\xa2",
+    0x00000388 => "\xb8",
+    0x00000389 => "\xb9",
+    0x0000038a => "\xba",
+    0x0000038c => "\xbc",
+    0x0000038e => "\xbe",
+    0x0000038f => "\xbf",
+    0x00000390 => "\xc0",
+    0x00000391 => "\xc1",
+    0x00000392 => "\xc2",
+    0x00000393 => "\xc3",
+    0x00000394 => "\xc4",
+    0x00000395 => "\xc5",
+    0x00000396 => "\xc6",
+    0x00000397 => "\xc7",
+    0x00000398 => "\xc8",
+    0x00000399 => "\xc9",
+    0x0000039a => "\xca",
+    0x0000039b => "\xcb",
+    0x0000039c => "\xcc",
+    0x0000039d => "\xcd",
+    0x0000039e => "\xce",
+    0x0000039f => "\xcf",
+    0x000003a0 => "\xd0",
+    0x000003a1 => "\xd1",
+    0x000003a3 => "\xd3",
+    0x000003a4 => "\xd4",
+    0x000003a5 => "\xd5",
+    0x000003a6 => "\xd6",
+    0x000003a7 => "\xd7",
+    0x000003a8 => "\xd8",
+    0x000003a9 => "\xd9",
+    0x000003aa => "\xda",
+    0x000003ab => "\xdb",
+    0x000003ac => "\xdc",
+    0x000003ad => "\xdd",
+    0x000003ae => "\xde",
+    0x000003af => "\xdf",
+    0x000003b0 => "\xe0",
+    0x000003b1 => "\xe1",
+    0x000003b2 => "\xe2",
+    0x000003b3 => "\xe3",
+    0x000003b4 => "\xe4",
+    0x000003b5 => "\xe5",
+    0x000003b6 => "\xe6",
+    0x000003b7 => "\xe7",
+    0x000003b8 => "\xe8",
+    0x000003b9 => "\xe9",
+    0x000003ba => "\xea",
+    0x000003bb => "\xeb",
+    0x000003bc => "\xec",
+    0x000003bd => "\xed",
+    0x000003be => "\xee",
+    0x000003bf => "\xef",
+    0x000003c0 => "\xf0",
+    0x000003c1 => "\xf1",
+    0x000003c2 => "\xf2",
+    0x000003c3 => "\xf3",
+    0x000003c4 => "\xf4",
+    0x000003c5 => "\xf5",
+    0x000003c6 => "\xf6",
+    0x000003c7 => "\xf7",
+    0x000003c8 => "\xf8",
+    0x000003c9 => "\xf9",
+    0x000003ca => "\xfa",
+    0x000003cb => "\xfb",
+    0x000003cc => "\xfc",
+    0x000003cd => "\xfd",
+    0x000003ce => "\xfe",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002015 => "\xaf",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x80",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP1253 - Conversion routines for CP1253
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP1253.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: UNICODE 1.0
+ alias MS-GREEK
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000020AC | EURO SIGN
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    89 |  00002030 | PER MILLE SIGN
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    99 |  00002122 | TRADE MARK SIGN
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000385 | GREEK DIALYTIKA TONOS
+    A2 |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  00002015 | HORIZONTAL BAR
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  00000384 | GREEK TONOS
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
+    B9 |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
+    BA |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
+    BF |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
+    C0 |  00000390 | GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+    C1 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    C2 |  00000392 | GREEK CAPITAL LETTER BETA
+    C3 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    C4 |  00000394 | GREEK CAPITAL LETTER DELTA
+    C5 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    C6 |  00000396 | GREEK CAPITAL LETTER ZETA
+    C7 |  00000397 | GREEK CAPITAL LETTER ETA
+    C8 |  00000398 | GREEK CAPITAL LETTER THETA
+    C9 |  00000399 | GREEK CAPITAL LETTER IOTA
+    CA |  0000039A | GREEK CAPITAL LETTER KAPPA
+    CB |  0000039B | GREEK CAPITAL LETTER LAMDA
+    CC |  0000039C | GREEK CAPITAL LETTER MU
+    CD |  0000039D | GREEK CAPITAL LETTER NU
+    CE |  0000039E | GREEK CAPITAL LETTER XI
+    CF |  0000039F | GREEK CAPITAL LETTER OMICRON
+    D0 |  000003A0 | GREEK CAPITAL LETTER PI
+    D1 |  000003A1 | GREEK CAPITAL LETTER RHO
+    D3 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    D4 |  000003A4 | GREEK CAPITAL LETTER TAU
+    D5 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    D6 |  000003A6 | GREEK CAPITAL LETTER PHI
+    D7 |  000003A7 | GREEK CAPITAL LETTER CHI
+    D8 |  000003A8 | GREEK CAPITAL LETTER PSI
+    D9 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    DA |  000003AA | GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+    DB |  000003AB | GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+    DC |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
+    DD |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
+    DE |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
+    DF |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
+    E0 |  000003B0 | GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+    E1 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E2 |  000003B2 | GREEK SMALL LETTER BETA
+    E3 |  000003B3 | GREEK SMALL LETTER GAMMA
+    E4 |  000003B4 | GREEK SMALL LETTER DELTA
+    E5 |  000003B5 | GREEK SMALL LETTER EPSILON
+    E6 |  000003B6 | GREEK SMALL LETTER ZETA
+    E7 |  000003B7 | GREEK SMALL LETTER ETA
+    E8 |  000003B8 | GREEK SMALL LETTER THETA
+    E9 |  000003B9 | GREEK SMALL LETTER IOTA
+    EA |  000003BA | GREEK SMALL LETTER KAPPA
+    EB |  000003BB | GREEK SMALL LETTER LAMDA
+    EC |  000003BC | GREEK SMALL LETTER MU
+    ED |  000003BD | GREEK SMALL LETTER NU
+    EE |  000003BE | GREEK SMALL LETTER XI
+    EF |  000003BF | GREEK SMALL LETTER OMICRON
+    F0 |  000003C0 | GREEK SMALL LETTER PI
+    F1 |  000003C1 | GREEK SMALL LETTER RHO
+    F2 |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    F3 |  000003C3 | GREEK SMALL LETTER SIGMA
+    F4 |  000003C4 | GREEK SMALL LETTER TAU
+    F5 |  000003C5 | GREEK SMALL LETTER UPSILON
+    F6 |  000003C6 | GREEK SMALL LETTER PHI
+    F7 |  000003C7 | GREEK SMALL LETTER CHI
+    F8 |  000003C8 | GREEK SMALL LETTER PSI
+    F9 |  000003C9 | GREEK SMALL LETTER OMEGA
+    FA |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
+    FB |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+    FC |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
+    FD |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
+    FE |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1254.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1254.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1254.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1254.pm   12 Oct 2011 
23:51:28 -0000      1.1
@@ -0,0 +1,1133 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP1254.pm,v 1.1 2011/10/12 23:51:28 pertusus Exp $
+
+# Conversion routines for CP1254.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP1254;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0xfffd,
+    0x201a,
+    0x0192,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0x02c6,
+    0x2030,
+    0x0160,
+    0x2039,
+    0x0152,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0x02dc,
+    0x2122,
+    0x0161,
+    0x203a,
+    0x0153,
+    0xfffd,
+    0xfffd,
+    0x0178,
+    0x00a0,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00bf,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x011e,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x0130,
+    0x015e,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x011f,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x0131,
+    0x015f,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9a",
+    "\xc6\x92",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xcb\x86",
+    "\xe2\x80\xb0",
+    "\xc5\xa0",
+    "\xe2\x80\xb9",
+    "\xc5\x92",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xcb\x9c",
+    "\xe2\x84\xa2",
+    "\xc5\xa1",
+    "\xe2\x80\xba",
+    "\xc5\x93",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc5\xb8",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xbf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc4\x9e",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc4\xb0",
+    "\xc5\x9e",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc4\x9f",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc4\xb1",
+    "\xc5\x9f",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000bf => "\xbf",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000ff => "\xff",
+    0x0000011e => "\xd0",
+    0x0000011f => "\xf0",
+    0x00000130 => "\xdd",
+    0x00000131 => "\xfd",
+    0x00000152 => "\x8c",
+    0x00000153 => "\x9c",
+    0x0000015e => "\xde",
+    0x0000015f => "\xfe",
+    0x00000160 => "\x8a",
+    0x00000161 => "\x9a",
+    0x00000178 => "\x9f",
+    0x00000192 => "\x83",
+    0x000002c6 => "\x88",
+    0x000002dc => "\x98",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x80",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP1254 - Conversion routines for CP1254
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP1254.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: UNICODE 1.0
+ alias MS-TURK
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000020AC | EURO SIGN
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    88 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  00000152 | LATIN CAPITAL LIGATURE OE
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    98 |  000002DC | SMALL TILDE
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  00000153 | LATIN SMALL LIGATURE OE
+    9F |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  0000011E | LATIN CAPITAL LETTER G WITH BREVE
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
+    DE |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER E WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  0000011F | LATIN SMALL LETTER G WITH BREVE
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  00000131 | LATIN SMALL LETTER DOTLESS I
+    FE |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1256.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1256.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1256.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1256.pm   12 Oct 2011 
23:51:29 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP1256.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for CP1256.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP1256;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0x067e,
+    0x201a,
+    0x0192,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0x02c6,
+    0x2030,
+    0x0679,
+    0x2039,
+    0x0152,
+    0x0686,
+    0x0698,
+    0x0688,
+    0x06af,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0x06a9,
+    0x2122,
+    0x0691,
+    0x203a,
+    0x0153,
+    0x200c,
+    0x200d,
+    0x06ba,
+    0x00a0,
+    0x060c,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x06be,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x061b,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x061f,
+    0x06c1,
+    0x0621,
+    0x0622,
+    0x0623,
+    0x0624,
+    0x0625,
+    0x0626,
+    0x0627,
+    0x0628,
+    0x0629,
+    0x062a,
+    0x062b,
+    0x062c,
+    0x062d,
+    0x062e,
+    0x062f,
+    0x0630,
+    0x0631,
+    0x0632,
+    0x0633,
+    0x0634,
+    0x0635,
+    0x0636,
+    0x00d7,
+    0x0637,
+    0x0638,
+    0x0639,
+    0x063a,
+    0x0640,
+    0x0641,
+    0x0642,
+    0x0643,
+    0x00e0,
+    0x0644,
+    0x00e2,
+    0x0645,
+    0x0646,
+    0x0647,
+    0x0648,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x0649,
+    0x064a,
+    0x00ee,
+    0x00ef,
+    0x064b,
+    0x064c,
+    0x064d,
+    0x064e,
+    0x00f4,
+    0x064f,
+    0x0650,
+    0x00f7,
+    0x0651,
+    0x00f9,
+    0x0652,
+    0x00fb,
+    0x00fc,
+    0x200e,
+    0x200f,
+    0x06d2,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xd9\xbe",
+    "\xe2\x80\x9a",
+    "\xc6\x92",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xcb\x86",
+    "\xe2\x80\xb0",
+    "\xd9\xb9",
+    "\xe2\x80\xb9",
+    "\xc5\x92",
+    "\xda\x86",
+    "\xda\x98",
+    "\xda\x88",
+    "\xda\xaf",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xda\xa9",
+    "\xe2\x84\xa2",
+    "\xda\x91",
+    "\xe2\x80\xba",
+    "\xc5\x93",
+    "\xe2\x80\x8c",
+    "\xe2\x80\x8d",
+    "\xda\xba",
+    "\xc2\xa0",
+    "\xd8\x8c",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xda\xbe",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xd8\x9b",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xd8\x9f",
+    "\xdb\x81",
+    "\xd8\xa1",
+    "\xd8\xa2",
+    "\xd8\xa3",
+    "\xd8\xa4",
+    "\xd8\xa5",
+    "\xd8\xa6",
+    "\xd8\xa7",
+    "\xd8\xa8",
+    "\xd8\xa9",
+    "\xd8\xaa",
+    "\xd8\xab",
+    "\xd8\xac",
+    "\xd8\xad",
+    "\xd8\xae",
+    "\xd8\xaf",
+    "\xd8\xb0",
+    "\xd8\xb1",
+    "\xd8\xb2",
+    "\xd8\xb3",
+    "\xd8\xb4",
+    "\xd8\xb5",
+    "\xd8\xb6",
+    "\xc3\x97",
+    "\xd8\xb7",
+    "\xd8\xb8",
+    "\xd8\xb9",
+    "\xd8\xba",
+    "\xd9\x80",
+    "\xd9\x81",
+    "\xd9\x82",
+    "\xd9\x83",
+    "\xc3\xa0",
+    "\xd9\x84",
+    "\xc3\xa2",
+    "\xd9\x85",
+    "\xd9\x86",
+    "\xd9\x87",
+    "\xd9\x88",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xd9\x89",
+    "\xd9\x8a",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xd9\x8b",
+    "\xd9\x8c",
+    "\xd9\x8d",
+    "\xd9\x8e",
+    "\xc3\xb4",
+    "\xd9\x8f",
+    "\xd9\x90",
+    "\xc3\xb7",
+    "\xd9\x91",
+    "\xc3\xb9",
+    "\xd9\x92",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xe2\x80\x8e",
+    "\xe2\x80\x8f",
+    "\xdb\x92",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000d7 => "\xd7",
+    0x000000e0 => "\xe0",
+    0x000000e2 => "\xe2",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f4 => "\xf4",
+    0x000000f7 => "\xf7",
+    0x000000f9 => "\xf9",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x00000152 => "\x8c",
+    0x00000153 => "\x9c",
+    0x00000192 => "\x83",
+    0x000002c6 => "\x88",
+    0x0000060c => "\xa1",
+    0x0000061b => "\xba",
+    0x0000061f => "\xbf",
+    0x00000621 => "\xc1",
+    0x00000622 => "\xc2",
+    0x00000623 => "\xc3",
+    0x00000624 => "\xc4",
+    0x00000625 => "\xc5",
+    0x00000626 => "\xc6",
+    0x00000627 => "\xc7",
+    0x00000628 => "\xc8",
+    0x00000629 => "\xc9",
+    0x0000062a => "\xca",
+    0x0000062b => "\xcb",
+    0x0000062c => "\xcc",
+    0x0000062d => "\xcd",
+    0x0000062e => "\xce",
+    0x0000062f => "\xcf",
+    0x00000630 => "\xd0",
+    0x00000631 => "\xd1",
+    0x00000632 => "\xd2",
+    0x00000633 => "\xd3",
+    0x00000634 => "\xd4",
+    0x00000635 => "\xd5",
+    0x00000636 => "\xd6",
+    0x00000637 => "\xd8",
+    0x00000638 => "\xd9",
+    0x00000639 => "\xda",
+    0x0000063a => "\xdb",
+    0x00000640 => "\xdc",
+    0x00000641 => "\xdd",
+    0x00000642 => "\xde",
+    0x00000643 => "\xdf",
+    0x00000644 => "\xe1",
+    0x00000645 => "\xe3",
+    0x00000646 => "\xe4",
+    0x00000647 => "\xe5",
+    0x00000648 => "\xe6",
+    0x00000649 => "\xec",
+    0x0000064a => "\xed",
+    0x0000064b => "\xf0",
+    0x0000064c => "\xf1",
+    0x0000064d => "\xf2",
+    0x0000064e => "\xf3",
+    0x0000064f => "\xf5",
+    0x00000650 => "\xf6",
+    0x00000651 => "\xf8",
+    0x00000652 => "\xfa",
+    0x00000679 => "\x8a",
+    0x0000067e => "\x81",
+    0x00000686 => "\x8d",
+    0x00000688 => "\x8f",
+    0x00000691 => "\x9a",
+    0x00000698 => "\x8e",
+    0x000006a9 => "\x98",
+    0x000006af => "\x90",
+    0x000006ba => "\x9f",
+    0x000006be => "\xaa",
+    0x000006c1 => "\xc0",
+    0x000006d2 => "\xff",
+    0x0000200c => "\x9d",
+    0x0000200d => "\x9e",
+    0x0000200e => "\xfd",
+    0x0000200f => "\xfe",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x80",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP1256 - Conversion routines for CP1256
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP1256.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: UNICODE 1.0
+ alias MS-ARAB
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000020AC | EURO SIGN
+    81 |  0000067E | ARABIC LETTER PEH
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    88 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000679 | ARABIC LETTER TTEH
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  00000152 | LATIN CAPITAL LIGATURE OE
+    8D |  00000686 | ARABIC LETTER TCHEH
+    8E |  00000698 | ARABIC LETTER JEH
+    8F |  00000688 | ARABIC LETTER DDAL
+    90 |  000006AF | ARABIC LETTER GAF
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    98 |  000006A9 | ARABIC LETTER KEHEH
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000691 | ARABIC LETTER RREH
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  00000153 | LATIN SMALL LIGATURE OE
+    9D |  0000200C | ZERO WIDTH NON-JOINER
+    9E |  0000200D | ZERO WIDTH JOINER
+    9F |  000006BA | ARABIC LETTER NOON
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  0000060C | ARABIC COMMA
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000006BE | ARABIC LETTER HEH DOACHASHMEE
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  0000061B | ARABIC SEMICOLON
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  0000061F | ARABIC QUESTION MARK
+    C0 |  000006C1 | ARABIC LETTER HEH GOAL
+    C1 |  00000621 | ARABIC LETTER HAMZA
+    C2 |  00000622 | ARABIC LETTER ALEF WITH MADDA ABOVE
+    C3 |  00000623 | ARABIC LETTER ALEF WITH HAMZA ABOVE
+    C4 |  00000624 | ARABIC LETTER WAW WITH HAMZA ABOVE
+    C5 |  00000625 | ARABIC LETTER ALEF WITH HAMZA BELOW
+    C6 |  00000626 | ARABIC LETTER YEH WITH HAMZA ABOVE
+    C7 |  00000627 | ARABIC LETTER ALEF
+    C8 |  00000628 | ARABIC LETTER BEH
+    C9 |  00000629 | ARABIC LETTER TEH MARBUTA
+    CA |  0000062A | ARABIC LETTER TEH
+    CB |  0000062B | ARABIC LETTER THEH
+    CC |  0000062C | ARABIC LETTER JEEM
+    CD |  0000062D | ARABIC LETTER HAH
+    CE |  0000062E | ARABIC LETTER KHAH
+    CF |  0000062F | ARABIC LETTER DAL
+    D0 |  00000630 | ARABIC LETTER THAL
+    D1 |  00000631 | ARABIC LETTER REH
+    D2 |  00000632 | ARABIC LETTER ZAIN
+    D3 |  00000633 | ARABIC LETTER SEEN
+    D4 |  00000634 | ARABIC LETTER SHEEN
+    D5 |  00000635 | ARABIC LETTER SAD
+    D6 |  00000636 | ARABIC LETTER DAD
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  00000637 | ARABIC LETTER TAH
+    D9 |  00000638 | ARABIC LETTER ZAH
+    DA |  00000639 | ARABIC LETTER AIN
+    DB |  0000063A | ARABIC LETTER GHAIN
+    DC |  00000640 | ARABIC TATWEEL
+    DD |  00000641 | ARABIC LETTER FEH
+    DE |  00000642 | ARABIC LETTER QAF
+    DF |  00000643 | ARABIC LETTER KAF
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  00000644 | ARABIC LETTER LAM
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  00000645 | ARABIC LETTER MEEM
+    E4 |  00000646 | ARABIC LETTER NOON
+    E5 |  00000647 | ARABIC LETTER HEH
+    E6 |  00000648 | ARABIC LETTER WAW
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  00000649 | ARABIC LETTER ALEF MAKSURA
+    ED |  0000064A | ARABIC LETTER YEH
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  0000064B | ARABIC FATHATAN
+    F1 |  0000064C | ARABIC DAMMATAN
+    F2 |  0000064D | ARABIC KASRATAN
+    F3 |  0000064E | ARABIC FATHA
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  0000064F | ARABIC DAMMA
+    F6 |  00000650 | ARABIC KASRA
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  00000651 | ARABIC SHADDA
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  00000652 | ARABIC SUKUN
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  0000200E | LEFT-TO-RIGHT MARK
+    FE |  0000200F | RIGHT-TO-LEFT MARK
+    FF |  000006D2 | ARABIC LETTER YEH BARREE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1257.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1257.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1257.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CP1257.pm   12 Oct 2011 
23:51:29 -0000      1.1
@@ -0,0 +1,1122 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CP1257.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for CP1257.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CP1257;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0xfffd,
+    0x201a,
+    0xfffd,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0xfffd,
+    0x2030,
+    0xfffd,
+    0x2039,
+    0xfffd,
+    0x00a8,
+    0x02c7,
+    0x00b8,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0xfffd,
+    0x2122,
+    0xfffd,
+    0x203a,
+    0xfffd,
+    0x00af,
+    0x02db,
+    0xfffd,
+    0x00a0,
+    0xfffd,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0xfffd,
+    0x00a6,
+    0x00a7,
+    0x00d8,
+    0x00a9,
+    0x0156,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00c6,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00f8,
+    0x00b9,
+    0x0157,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00e6,
+    0x0104,
+    0x012e,
+    0x0100,
+    0x0106,
+    0x00c4,
+    0x00c5,
+    0x0118,
+    0x0112,
+    0x010c,
+    0x00c9,
+    0x0179,
+    0x0116,
+    0x0122,
+    0x0136,
+    0x012a,
+    0x013b,
+    0x0160,
+    0x0143,
+    0x0145,
+    0x00d3,
+    0x014c,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x0172,
+    0x0141,
+    0x015a,
+    0x016a,
+    0x00dc,
+    0x017b,
+    0x017d,
+    0x00df,
+    0x0105,
+    0x012f,
+    0x0101,
+    0x0107,
+    0x00e4,
+    0x00e5,
+    0x0119,
+    0x0113,
+    0x010d,
+    0x00e9,
+    0x017a,
+    0x0117,
+    0x0123,
+    0x0137,
+    0x012b,
+    0x013c,
+    0x0161,
+    0x0144,
+    0x0146,
+    0x00f3,
+    0x014d,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x0173,
+    0x0142,
+    0x015b,
+    0x016b,
+    0x00fc,
+    0x017c,
+    0x017e,
+    0x02d9,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9a",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xb0",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xb9",
+    "\xef\xbf\xbd",
+    "\xc2\xa8",
+    "\xcb\x87",
+    "\xc2\xb8",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xef\xbf\xbd",
+    "\xe2\x84\xa2",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xba",
+    "\xef\xbf\xbd",
+    "\xc2\xaf",
+    "\xcb\x9b",
+    "\xef\xbf\xbd",
+    "\xc2\xa0",
+    "\xef\xbf\xbd",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc3\x98",
+    "\xc2\xa9",
+    "\xc5\x96",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc3\x86",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc3\xb8",
+    "\xc2\xb9",
+    "\xc5\x97",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc3\xa6",
+    "\xc4\x84",
+    "\xc4\xae",
+    "\xc4\x80",
+    "\xc4\x86",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc4\x98",
+    "\xc4\x92",
+    "\xc4\x8c",
+    "\xc3\x89",
+    "\xc5\xb9",
+    "\xc4\x96",
+    "\xc4\xa2",
+    "\xc4\xb6",
+    "\xc4\xaa",
+    "\xc4\xbb",
+    "\xc5\xa0",
+    "\xc5\x83",
+    "\xc5\x85",
+    "\xc3\x93",
+    "\xc5\x8c",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc5\xb2",
+    "\xc5\x81",
+    "\xc5\x9a",
+    "\xc5\xaa",
+    "\xc3\x9c",
+    "\xc5\xbb",
+    "\xc5\xbd",
+    "\xc3\x9f",
+    "\xc4\x85",
+    "\xc4\xaf",
+    "\xc4\x81",
+    "\xc4\x87",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc4\x99",
+    "\xc4\x93",
+    "\xc4\x8d",
+    "\xc3\xa9",
+    "\xc5\xba",
+    "\xc4\x97",
+    "\xc4\xa3",
+    "\xc4\xb7",
+    "\xc4\xab",
+    "\xc4\xbc",
+    "\xc5\xa1",
+    "\xc5\x84",
+    "\xc5\x86",
+    "\xc3\xb3",
+    "\xc5\x8d",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc5\xb3",
+    "\xc5\x82",
+    "\xc5\x9b",
+    "\xc5\xab",
+    "\xc3\xbc",
+    "\xc5\xbc",
+    "\xc5\xbe",
+    "\xcb\x99",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\x8d",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\x9d",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\x8f",
+    0x000000b9 => "\xb9",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xaf",
+    0x000000c9 => "\xc9",
+    0x000000d3 => "\xd3",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xa8",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xbf",
+    0x000000e9 => "\xe9",
+    0x000000f3 => "\xf3",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xb8",
+    0x000000fc => "\xfc",
+    0x00000100 => "\xc2",
+    0x00000101 => "\xe2",
+    0x00000104 => "\xc0",
+    0x00000105 => "\xe0",
+    0x00000106 => "\xc3",
+    0x00000107 => "\xe3",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x00000112 => "\xc7",
+    0x00000113 => "\xe7",
+    0x00000116 => "\xcb",
+    0x00000117 => "\xeb",
+    0x00000118 => "\xc6",
+    0x00000119 => "\xe6",
+    0x00000122 => "\xcc",
+    0x00000123 => "\xec",
+    0x0000012a => "\xce",
+    0x0000012b => "\xee",
+    0x0000012e => "\xc1",
+    0x0000012f => "\xe1",
+    0x00000136 => "\xcd",
+    0x00000137 => "\xed",
+    0x0000013b => "\xcf",
+    0x0000013c => "\xef",
+    0x00000141 => "\xd9",
+    0x00000142 => "\xf9",
+    0x00000143 => "\xd1",
+    0x00000144 => "\xf1",
+    0x00000145 => "\xd2",
+    0x00000146 => "\xf2",
+    0x0000014c => "\xd4",
+    0x0000014d => "\xf4",
+    0x00000156 => "\xaa",
+    0x00000157 => "\xba",
+    0x0000015a => "\xda",
+    0x0000015b => "\xfa",
+    0x00000160 => "\xd0",
+    0x00000161 => "\xf0",
+    0x0000016a => "\xdb",
+    0x0000016b => "\xfb",
+    0x00000172 => "\xd8",
+    0x00000173 => "\xf8",
+    0x00000179 => "\xca",
+    0x0000017a => "\xea",
+    0x0000017b => "\xdd",
+    0x0000017c => "\xfd",
+    0x0000017d => "\xde",
+    0x0000017e => "\xfe",
+    0x000002c7 => "\x8e",
+    0x000002d9 => "\xff",
+    0x000002db => "\x9e",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x80",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CP1257 - Conversion routines for CP1257
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CP1257.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: CEN/TC304 N283
+ alias WINBALTRIM
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000020AC | EURO SIGN
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    89 |  00002030 | PER MILLE SIGN
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8D |  000000A8 | DIAERESIS
+    8E |  000002C7 | CARON (Mandarin Chinese third tone)
+    8F |  000000B8 | CEDILLA
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    99 |  00002122 | TRADE MARK SIGN
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9D |  000000AF | MACRON
+    9E |  000002DB | OGONEK
+    A0 |  000000A0 | NO-BREAK SPACE
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00000156 | LATIN CAPITAL LETTER R WITH CEDILLA
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000C6 | LATIN CAPITAL LETTER AE
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  00000157 | LATIN SMALL LETTER R WITH CEDILLA
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000E6 | LATIN SMALL LETTER AE
+    C0 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    C1 |  0000012E | LATIN CAPITAL LETTER I WITH OGONEK
+    C2 |  00000100 | LATIN CAPITAL LETTER A WITH MACRON
+    C3 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    C7 |  00000112 | LATIN CAPITAL LETTER E WITH MACRON
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    CB |  00000116 | LATIN CAPITAL LETTER E WITH DOT ABOVE
+    CC |  00000122 | LATIN CAPITAL LETTER G WITH CEDILLA
+    CD |  00000136 | LATIN CAPITAL LETTER K WITH CEDILLA
+    CE |  0000012A | LATIN CAPITAL LETTER I WITH MACRON
+    CF |  0000013B | LATIN CAPITAL LETTER L WITH CEDILLA
+    D0 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    D1 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    D2 |  00000145 | LATIN CAPITAL LETTER N WITH CEDILLA
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  0000014C | LATIN CAPITAL LETTER O WITH MACRON
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  00000172 | LATIN CAPITAL LETTER U WITH OGONEK
+    D9 |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    DA |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    DB |  0000016A | LATIN CAPITAL LETTER U WITH MACRON
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    DE |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    E1 |  0000012F | LATIN SMALL LETTER I WITH OGONEK
+    E2 |  00000101 | LATIN SMALL LETTER A WITH MACRON
+    E3 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    E7 |  00000113 | LATIN SMALL LETTER E WITH MACRON
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    EB |  00000117 | LATIN SMALL LETTER E WITH DOT ABOVE
+    EC |  00000123 | LATIN SMALL LETTER G WITH CEDILLA
+    ED |  00000137 | LATIN SMALL LETTER K WITH CEDILLA
+    EE |  0000012B | LATIN SMALL LETTER I WITH MACRON
+    EF |  0000013C | LATIN SMALL LETTER L WITH CEDILLA
+    F0 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    F1 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    F2 |  00000146 | LATIN SMALL LETTER N WITH CEDILLA
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  0000014D | LATIN SMALL LETTER O WITH MACRON
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  00000173 | LATIN SMALL LETTER U WITH OGONEK
+    F9 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    FA |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    FB |  0000016B | LATIN SMALL LETTER U WITH MACRON
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    FE |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    FF |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CSN_369103.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CSN_369103.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CSN_369103.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CSN_369103.pm       12 Oct 
2011 23:51:29 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CSN_369103.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for CSN_369103.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CSN_369103;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x00a4,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0104,
+    0x02d8,
+    0x0141,
+    0x0024,
+    0x013d,
+    0x015a,
+    0x00a7,
+    0x00a8,
+    0x0160,
+    0x015e,
+    0x0164,
+    0x0179,
+    0x00ad,
+    0x017d,
+    0x017b,
+    0x00b0,
+    0x0105,
+    0x02db,
+    0x0142,
+    0x00b4,
+    0x013e,
+    0x015b,
+    0x02c7,
+    0x00b8,
+    0x0161,
+    0x015f,
+    0x0165,
+    0x017a,
+    0x02dd,
+    0x017e,
+    0x017c,
+    0x0154,
+    0x00c1,
+    0x00c2,
+    0x0102,
+    0x00c4,
+    0x0139,
+    0x0106,
+    0x00c7,
+    0x010c,
+    0x00c9,
+    0x0118,
+    0x00cb,
+    0x011a,
+    0x00cd,
+    0x00ce,
+    0x010e,
+    0x0110,
+    0x0143,
+    0x0147,
+    0x00d3,
+    0x00d4,
+    0x0150,
+    0x00d6,
+    0x00d7,
+    0x0158,
+    0x016e,
+    0x00da,
+    0x0170,
+    0x00dc,
+    0x00dd,
+    0x0162,
+    0x00df,
+    0x0155,
+    0x00e1,
+    0x00e2,
+    0x0103,
+    0x00e4,
+    0x013a,
+    0x0107,
+    0x00e7,
+    0x010d,
+    0x00e9,
+    0x0119,
+    0x00eb,
+    0x011b,
+    0x00ed,
+    0x00ee,
+    0x010f,
+    0x0111,
+    0x0144,
+    0x0148,
+    0x00f3,
+    0x00f4,
+    0x0151,
+    0x00f6,
+    0x00f7,
+    0x0159,
+    0x016f,
+    0x00fa,
+    0x0171,
+    0x00fc,
+    0x00fd,
+    0x0163,
+    0x02d9,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\xc2\xa4",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc4\x84",
+    "\xcb\x98",
+    "\xc5\x81",
+    "\x24",
+    "\xc4\xbd",
+    "\xc5\x9a",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc5\xa0",
+    "\xc5\x9e",
+    "\xc5\xa4",
+    "\xc5\xb9",
+    "\xc2\xad",
+    "\xc5\xbd",
+    "\xc5\xbb",
+    "\xc2\xb0",
+    "\xc4\x85",
+    "\xcb\x9b",
+    "\xc5\x82",
+    "\xc2\xb4",
+    "\xc4\xbe",
+    "\xc5\x9b",
+    "\xcb\x87",
+    "\xc2\xb8",
+    "\xc5\xa1",
+    "\xc5\x9f",
+    "\xc5\xa5",
+    "\xc5\xba",
+    "\xcb\x9d",
+    "\xc5\xbe",
+    "\xc5\xbc",
+    "\xc5\x94",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc4\x82",
+    "\xc3\x84",
+    "\xc4\xb9",
+    "\xc4\x86",
+    "\xc3\x87",
+    "\xc4\x8c",
+    "\xc3\x89",
+    "\xc4\x98",
+    "\xc3\x8b",
+    "\xc4\x9a",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc4\x8e",
+    "\xc4\x90",
+    "\xc5\x83",
+    "\xc5\x87",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc5\x90",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc5\x98",
+    "\xc5\xae",
+    "\xc3\x9a",
+    "\xc5\xb0",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc5\xa2",
+    "\xc3\x9f",
+    "\xc5\x95",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc4\x83",
+    "\xc3\xa4",
+    "\xc4\xba",
+    "\xc4\x87",
+    "\xc3\xa7",
+    "\xc4\x8d",
+    "\xc3\xa9",
+    "\xc4\x99",
+    "\xc3\xab",
+    "\xc4\x9b",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc4\x8f",
+    "\xc4\x91",
+    "\xc5\x84",
+    "\xc5\x88",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc5\x91",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc5\x99",
+    "\xc5\xaf",
+    "\xc3\xba",
+    "\xc5\xb1",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc5\xa3",
+    "\xcb\x99",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\xa4",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a4 => "\x24",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000ad => "\xad",
+    0x000000b0 => "\xb0",
+    0x000000b4 => "\xb4",
+    0x000000b8 => "\xb8",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c4 => "\xc4",
+    0x000000c7 => "\xc7",
+    0x000000c9 => "\xc9",
+    0x000000cb => "\xcb",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000da => "\xda",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000df => "\xdf",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e4 => "\xe4",
+    0x000000e7 => "\xe7",
+    0x000000e9 => "\xe9",
+    0x000000eb => "\xeb",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000fa => "\xfa",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x00000102 => "\xc3",
+    0x00000103 => "\xe3",
+    0x00000104 => "\xa1",
+    0x00000105 => "\xb1",
+    0x00000106 => "\xc6",
+    0x00000107 => "\xe6",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x0000010e => "\xcf",
+    0x0000010f => "\xef",
+    0x00000110 => "\xd0",
+    0x00000111 => "\xf0",
+    0x00000118 => "\xca",
+    0x00000119 => "\xea",
+    0x0000011a => "\xcc",
+    0x0000011b => "\xec",
+    0x00000139 => "\xc5",
+    0x0000013a => "\xe5",
+    0x0000013d => "\xa5",
+    0x0000013e => "\xb5",
+    0x00000141 => "\xa3",
+    0x00000142 => "\xb3",
+    0x00000143 => "\xd1",
+    0x00000144 => "\xf1",
+    0x00000147 => "\xd2",
+    0x00000148 => "\xf2",
+    0x00000150 => "\xd5",
+    0x00000151 => "\xf5",
+    0x00000154 => "\xc0",
+    0x00000155 => "\xe0",
+    0x00000158 => "\xd8",
+    0x00000159 => "\xf8",
+    0x0000015a => "\xa6",
+    0x0000015b => "\xb6",
+    0x0000015e => "\xaa",
+    0x0000015f => "\xba",
+    0x00000160 => "\xa9",
+    0x00000161 => "\xb9",
+    0x00000162 => "\xde",
+    0x00000163 => "\xfe",
+    0x00000164 => "\xab",
+    0x00000165 => "\xbb",
+    0x0000016e => "\xd9",
+    0x0000016f => "\xf9",
+    0x00000170 => "\xdb",
+    0x00000171 => "\xfb",
+    0x00000179 => "\xac",
+    0x0000017a => "\xbc",
+    0x0000017b => "\xaf",
+    0x0000017c => "\xbf",
+    0x0000017d => "\xae",
+    0x0000017e => "\xbe",
+    0x000002c7 => "\xb7",
+    0x000002d8 => "\xa2",
+    0x000002d9 => "\xff",
+    0x000002db => "\xb2",
+    0x000002dd => "\xbd",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CSN_369103 - Conversion routines for CSN_369103
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CSN_369103.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: ECMA registry
+ alias ISO-IR-139
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  000000A4 | CURRENCY SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    A2 |  000002D8 | BREVE
+    A3 |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    A4 |  00000024 | DOLLAR SIGN
+    A5 |  0000013D | LATIN CAPITAL LETTER L WITH CARON
+    A6 |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    AA |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    AB |  00000164 | LATIN CAPITAL LETTER T WITH CARON
+    AC |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    AD |  000000AD | SOFT HYPHEN
+    AE |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    AF |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    B2 |  000002DB | OGONEK
+    B3 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  0000013E | LATIN SMALL LETTER L WITH CARON
+    B6 |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    B7 |  000002C7 | CARON (Mandarin Chinese third tone)
+    B8 |  000000B8 | CEDILLA
+    B9 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    BA |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    BB |  00000165 | LATIN SMALL LETTER T WITH CARON
+    BC |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    BD |  000002DD | DOUBLE ACUTE ACCENT
+    BE |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    BF |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    C0 |  00000154 | LATIN CAPITAL LETTER R WITH ACUTE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  00000139 | LATIN CAPITAL LETTER L WITH ACUTE
+    C6 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  0000011A | LATIN CAPITAL LETTER E WITH CARON
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  0000010E | LATIN CAPITAL LETTER D WITH CARON
+    D0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D1 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    D2 |  00000147 | LATIN CAPITAL LETTER N WITH CARON
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  00000158 | LATIN CAPITAL LETTER R WITH CARON
+    D9 |  0000016E | LATIN CAPITAL LETTER U WITH RING ABOVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  00000162 | LATIN CAPITAL LETTER T WITH CEDILLA
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  00000155 | LATIN SMALL LETTER R WITH ACUTE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  0000013A | LATIN SMALL LETTER L WITH ACUTE
+    E6 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  0000011B | LATIN SMALL LETTER E WITH CARON
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  0000010F | LATIN SMALL LETTER D WITH CARON
+    F0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    F1 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    F2 |  00000148 | LATIN SMALL LETTER N WITH CARON
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  00000159 | LATIN SMALL LETTER R WITH CARON
+    F9 |  0000016F | LATIN SMALL LETTER U WITH RING ABOVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  00000163 | LATIN SMALL LETTER T WITH CEDILLA
+    FF |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/CWI.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/CWI.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/CWI.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/CWI.pm      12 Oct 2011 
23:51:29 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: CWI.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for CWI.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::CWI;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x00cd,
+    0x00c4,
+    0x00c1,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x0151,
+    0x00f6,
+    0x00d3,
+    0x0171,
+    0x00da,
+    0x0170,
+    0x00d6,
+    0x00dc,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x20a7,
+    0xe01f,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x0150,
+    0x00bf,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x03b1,
+    0x03b2,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x03bc,
+    0x03c4,
+    0x03a6,
+    0x0398,
+    0x03a9,
+    0x03b4,
+    0x221e,
+    0x2205,
+    0x03b5,
+    0x2229,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x2218,
+    0x00b7,
+    0x2022,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xc3\x8d",
+    "\xc3\x84",
+    "\xc3\x81",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc5\x91",
+    "\xc3\xb6",
+    "\xc3\x93",
+    "\xc5\xb1",
+    "\xc3\x9a",
+    "\xc5\xb0",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xe2\x82\xa7",
+    "\xee\x80\x9f",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc5\x90",
+    "\xc2\xbf",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xce\xbc",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\x9e",
+    "\xe2\x88\x85",
+    "\xce\xb5",
+    "\xe2\x88\xa9",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xe2\x88\x98",
+    "\xc2\xb7",
+    "\xe2\x80\xa2",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\x9b",
+    0x000000a3 => "\x9c",
+    0x000000a5 => "\x9d",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b7 => "\xf9",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000c1 => "\x8f",
+    0x000000c4 => "\x8e",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c9 => "\x90",
+    0x000000cd => "\x8d",
+    0x000000d1 => "\xa5",
+    0x000000d3 => "\x95",
+    0x000000d6 => "\x99",
+    0x000000da => "\x97",
+    0x000000dc => "\x9a",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f1 => "\xa4",
+    0x000000f3 => "\xa2",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000fa => "\xa3",
+    0x000000fc => "\x81",
+    0x00000150 => "\xa7",
+    0x00000151 => "\x93",
+    0x00000170 => "\x98",
+    0x00000171 => "\x96",
+    0x00000393 => "\xe2",
+    0x00000398 => "\xe9",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b2 => "\xe1",
+    0x000003b4 => "\xeb",
+    0x000003b5 => "\xee",
+    0x000003bc => "\xe6",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x00002022 => "\xfa",
+    0x0000207f => "\xfc",
+    0x000020a7 => "\x9e",
+    0x00002205 => "\xed",
+    0x00002218 => "\xf8",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xec",
+    0x00002229 => "\xef",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+    0x0000e01f => "\x9f",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::CWI - Conversion routines for CWI
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for CWI.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: Computerworld Sza'mita'stechnika vol 3 issue 13 1988-06-29
+ alias CWI-2
+ alias CP-HU
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    96 |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
+    97 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    98 |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000A2 | CENT SIGN
+    9C |  000000A3 | POUND SIGN
+    9D |  000000A5 | YEN SIGN
+    9E |  000020A7 | PESETA SIGN
+    9F |  0000E01F | HUNGARIAN FLORINTH (CWI_9F)
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000003B2 | GREEK SMALL LETTER BETA
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000003BC | GREEK SMALL LETTER MU
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  00000398 | GREEK CAPITAL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000221E | INFINITY
+    ED |  00002205 | EMPTY SET
+    EE |  000003B5 | GREEK SMALL LETTER EPSILON
+    EF |  00002229 | INTERSECTION
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  00002218 | RING OPERATOR
+    F9 |  000000B7 | MIDDLE DOT
+    FA |  00002022 | BULLET
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/DEC_MCS.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/DEC_MCS.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/DEC_MCS.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/DEC_MCS.pm  12 Oct 2011 
23:51:29 -0000      1.1
@@ -0,0 +1,1116 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: DEC_MCS.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for DEC-MCS.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::DEC_MCS;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0xfffd,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0xfffd,
+    0x00a5,
+    0xfffd,
+    0x00a7,
+    0x00a4,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0xfffd,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0xfffd,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0xfffd,
+    0x00bf,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0xfffd,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x0152,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x0178,
+    0xfffd,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0xfffd,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x0153,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00ff,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xef\xbf\xbd",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xef\xbf\xbd",
+    "\xc2\xa5",
+    "\xef\xbf\xbd",
+    "\xc2\xa7",
+    "\xc2\xa4",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xef\xbf\xbd",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xef\xbf\xbd",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xbf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xef\xbf\xbd",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc5\x92",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc5\xb8",
+    "\xef\xbf\xbd",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xef\xbf\xbd",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc5\x93",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbf",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa8",
+    0x000000a5 => "\xa5",
+    0x000000a7 => "\xa7",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000bf => "\xbf",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000ff => "\xfd",
+    0x00000152 => "\xd7",
+    0x00000153 => "\xf7",
+    0x00000178 => "\xdd",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::DEC_MCS - Conversion routines for DEC_MCS
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for DEC-MCS.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  VAX/VMS User's Manual, Order Number: AI-Y517A-TE, April 1986.
+ alias DEC
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A5 |  000000A5 | YEN SIGN
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A4 | CURRENCY SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  00000152 | LATIN CAPITAL LIGATURE OE
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  00000153 | LATIN SMALL LIGATURE OE
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE.pm     12 Oct 
2011 23:51:29 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_AT_DE.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for EBCDIC-AT-DE.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_AT_DE;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00c4,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00dc,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x00a7,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00df,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e4,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00fc,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00d6,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x84",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x9c",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\xc2\xa7",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x9f",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa4",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xbc",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x96",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a7 => "\x7c",
+    0x000000c4 => "\x4a",
+    0x000000d6 => "\xe0",
+    0x000000dc => "\x5a",
+    0x000000df => "\xa1",
+    0x000000e4 => "\xc0",
+    0x000000f6 => "\x6a",
+    0x000000fc => "\xd0",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_AT_DE - Conversion routines for EBCDIC_AT_DE
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-AT-DE.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  000000A7 | SECTION SIGN
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_AT_DE_A.pm   12 Oct 
2011 23:51:29 -0000      1.1
@@ -0,0 +1,943 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_AT_DE_A.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for EBCDIC-AT-DE-A.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_AT_DE_A;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f6,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00fc,
+    0x00dc,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00df,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x003a,
+    0x00c4,
+    0x00d6,
+    0x0027,
+    0x003d,
+    0x00e4,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb6",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xbc",
+    "\xc3\x9c",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x9f",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x3a",
+    "\xc3\x84",
+    "\xc3\x96",
+    "\x27",
+    "\x3d",
+    "\xc3\xa4",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007c => "\x4f",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000ac => "\x5f",
+    0x000000c4 => "\x7b",
+    0x000000d6 => "\x7c",
+    0x000000dc => "\x5b",
+    0x000000df => "\x6a",
+    0x000000e4 => "\x7f",
+    0x000000f6 => "\x4a",
+    0x000000fc => "\x5a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_AT_DE_A - Conversion routines for EBCDIC_AT_DE_A
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-AT-DE-A.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    5B |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    7A |  0000003A | COLON
+    7B |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    7C |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_CA_FR.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_CA_FR.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_CA_FR.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_CA_FR.pm     12 Oct 
2011 23:51:29 -0000      1.1
@@ -0,0 +1,995 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_CA_FR.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for EBCDIC-CA-FR.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_CA_FR;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0x00e2,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e7,
+    0xfffd,
+    0x00e0,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0x00ea,
+    0x00eb,
+    0xfffd,
+    0xfffd,
+    0x00ee,
+    0x00ef,
+    0xfffd,
+    0xfffd,
+    0x00b4,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0xfffd,
+    0x00c0,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00c7,
+    0xfffd,
+    0x00f9,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0xfffd,
+    0x00ce,
+    0x00cf,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e9,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0x00f4,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e8,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0x00fb,
+    0x00fc,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b8,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0x00d4,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xc3\xa2",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa7",
+    "\xef\xbf\xbd",
+    "\xc3\xa0",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb4",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xef\xbf\xbd",
+    "\xc3\x80",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x87",
+    "\xef\xbf\xbd",
+    "\xc3\xb9",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xef\xbf\xbd",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa9",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xc3\xb4",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa8",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb8",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xc3\x94",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a8 => "\xa1",
+    0x000000b4 => "\x5a",
+    0x000000b8 => "\xe0",
+    0x000000c0 => "\x64",
+    0x000000c2 => "\x62",
+    0x000000c7 => "\x68",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000ce => "\x75",
+    0x000000cf => "\x76",
+    0x000000d4 => "\xeb",
+    0x000000d9 => "\xfd",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000e0 => "\x4a",
+    0x000000e2 => "\x42",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\xd0",
+    0x000000e9 => "\xc0",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f4 => "\xcb",
+    0x000000f9 => "\x6a",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_CA_FR - Conversion routines for EBCDIC_CA_FR
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-CA-FR.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    4A |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    5A |  000000B4 | ACUTE ACCENT
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    6A |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    75 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    76 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    D0 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    E0 |  000000B8 | CEDILLA
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO.pm     12 Oct 
2011 23:51:29 -0000      1.1
@@ -0,0 +1,954 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_DK_NO.pm,v 1.1 2011/10/12 23:51:29 pertusus Exp $
+
+# Conversion routines for EBCDIC-DK-NO.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_DK_NO;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0023,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a4,
+    0x00c5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f8,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x00c6,
+    0x00d8,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00fc,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e6,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e5,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x23",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa4",
+    "\xc3\x85",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb8",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xbc",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa6",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa5",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x4a",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005c => "\xe0",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a4 => "\x5a",
+    0x000000c5 => "\x5b",
+    0x000000c6 => "\x7b",
+    0x000000d8 => "\x7c",
+    0x000000e5 => "\xd0",
+    0x000000e6 => "\xc0",
+    0x000000f8 => "\x6a",
+    0x000000fc => "\xa1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_DK_NO - Conversion routines for EBCDIC_DK_NO
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-DK-NO.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  00000023 | NUMBER SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  000000A4 | CURRENCY SIGN
+    5B |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000C6 | LATIN CAPITAL LETTER AE
+    7C |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E6 | LATIN SMALL LETTER AE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_DK_NO_A.pm   12 Oct 
2011 23:51:30 -0000      1.1
@@ -0,0 +1,943 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_DK_NO_A.pm,v 1.1 2011/10/12 23:51:30 pertusus Exp $
+
+# Conversion routines for EBCDIC-DK-NO-A.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_DK_NO_A;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f8,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e5,
+    0x00c5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x003a,
+    0x00c6,
+    0x00d8,
+    0x0027,
+    0x003d,
+    0x00e6,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb8",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa5",
+    "\xc3\x85",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x3a",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\x27",
+    "\x3d",
+    "\xc3\xa6",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007c => "\x4f",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+    0x000000c5 => "\x5b",
+    0x000000c6 => "\x7b",
+    0x000000d8 => "\x7c",
+    0x000000e5 => "\x5a",
+    0x000000e6 => "\x7f",
+    0x000000f8 => "\x4a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_DK_NO_A - Conversion routines for EBCDIC_DK_NO_A
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-DK-NO-A.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    5B |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    7A |  0000003A | COLON
+    7B |  000000C6 | LATIN CAPITAL LETTER AE
+    7C |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  000000E6 | LATIN SMALL LETTER AE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES.pm        12 Oct 
2011 23:51:31 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_ES.pm,v 1.1 2011/10/12 23:51:31 pertusus Exp $
+
+# Conversion routines for EBCDIC-ES.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_ES;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0021,
+    0x20a7,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f1,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x00d1,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x21",
+    "\xe2\x82\xa7",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb1",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\xc3\x91",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005c => "\xe0",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a2 => "\x4a",
+    0x000000a8 => "\xa1",
+    0x000000ac => "\x5f",
+    0x000000d1 => "\x7b",
+    0x000000f1 => "\x6a",
+    0x000020a7 => "\x5b",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_ES - Conversion routines for EBCDIC_ES
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-ES.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  000020A7 | PESETA SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_A.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_A.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_A.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_A.pm      12 Oct 
2011 23:51:31 -0000      1.1
@@ -0,0 +1,943 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_ES_A.pm,v 1.1 2011/10/12 23:51:31 pertusus Exp $
+
+# Conversion routines for EBCDIC-ES-A.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_ES_A;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0021,
+    0x20a7,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x003a,
+    0x00d1,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x00f1,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x21",
+    "\xe2\x82\xa7",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x3a",
+    "\xc3\x91",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\xc3\xb1",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007c => "\x4f",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a2 => "\x4a",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+    0x000000d1 => "\x7b",
+    0x000000f1 => "\x7f",
+    0x000020a7 => "\x5b",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_ES_A - Conversion routines for EBCDIC_ES_A
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-ES-A.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  000020A7 | PESETA SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    7A |  0000003A | COLON
+    7B |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_S.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_S.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_S.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_ES_S.pm      12 Oct 
2011 23:51:31 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_ES_S.pm,v 1.1 2011/10/12 23:51:31 pertusus Exp $
+
+# Conversion routines for EBCDIC-ES-S.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_ES_S;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0021,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f1,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x00d1,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x21",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb1",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\xc3\x91",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005c => "\xe0",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a2 => "\x4a",
+    0x000000a8 => "\xa1",
+    0x000000ac => "\x5f",
+    0x000000d1 => "\x7b",
+    0x000000f1 => "\x6a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_ES_S - Conversion routines for EBCDIC_ES_S
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-ES-S.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE.pm     12 Oct 
2011 23:51:31 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_FI_SE.pm,v 1.1 2011/10/12 23:51:31 pertusus Exp $
+
+# Conversion routines for EBCDIC-FI-SE.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_FI_SE;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a7,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a4,
+    0x00c5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e9,
+    0x003a,
+    0x00c4,
+    0x00d6,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00fc,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e4,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e5,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00c9,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa7",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa4",
+    "\xc3\x85",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa9",
+    "\x3a",
+    "\xc3\x84",
+    "\xc3\x96",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xbc",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa4",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa5",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x89",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a4 => "\x5a",
+    0x000000a7 => "\x4a",
+    0x000000c4 => "\x7b",
+    0x000000c5 => "\x5b",
+    0x000000c9 => "\xe0",
+    0x000000d6 => "\x7c",
+    0x000000e4 => "\xc0",
+    0x000000e5 => "\xd0",
+    0x000000e9 => "\x79",
+    0x000000f6 => "\x6a",
+    0x000000fc => "\xa1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_FI_SE - Conversion routines for EBCDIC_FI_SE
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-FI-SE.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000A7 | SECTION SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  000000A4 | CURRENCY SIGN
+    5B |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    7A |  0000003A | COLON
+    7B |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    7C |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FI_SE_A.pm   12 Oct 
2011 23:51:32 -0000      1.1
@@ -0,0 +1,943 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_FI_SE_A.pm,v 1.1 2011/10/12 23:51:32 pertusus Exp $
+
+# Conversion routines for EBCDIC-FI-SE-A.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_FI_SE_A;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f6,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e5,
+    0x00c5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x003a,
+    0x00c4,
+    0x00d6,
+    0x0027,
+    0x003d,
+    0x00e4,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb6",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa5",
+    "\xc3\x85",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x3a",
+    "\xc3\x84",
+    "\xc3\x96",
+    "\x27",
+    "\x3d",
+    "\xc3\xa4",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007c => "\x4f",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+    0x000000c4 => "\x7b",
+    0x000000c5 => "\x5b",
+    0x000000d6 => "\x7c",
+    0x000000e4 => "\x7f",
+    0x000000e5 => "\x5a",
+    0x000000f6 => "\x4a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_FI_SE_A - Conversion routines for EBCDIC_FI_SE_A
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-FI-SE-A.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    5B |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    7A |  0000003A | COLON
+    7B |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    7C |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FR.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FR.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FR.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_FR.pm        12 Oct 
2011 23:51:32 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_FR.pm,v 1.1 2011/10/12 23:51:32 pertusus Exp $
+
+# Conversion routines for EBCDIC-FR.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_FR;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b0,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a7,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f9,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x00a3,
+    0x00e0,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e9,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e8,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e7,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb0",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa7",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb9",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\xc2\xa3",
+    "\xc3\xa0",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa9",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa8",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa7",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\x7b",
+    0x000000a7 => "\x5a",
+    0x000000a8 => "\xa1",
+    0x000000b0 => "\x4a",
+    0x000000e0 => "\x7c",
+    0x000000e7 => "\xe0",
+    0x000000e8 => "\xd0",
+    0x000000e9 => "\xc0",
+    0x000000f9 => "\x6a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_FR - Conversion routines for EBCDIC_FR
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-FR.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000B0 | DEGREE SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  000000A7 | SECTION SIGN
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000A3 | POUND SIGN
+    7C |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IS_FRISS.pm  12 Oct 
2011 23:51:32 -0000      1.1
@@ -0,0 +1,924 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_IS_FRISS.pm,v 1.1 2011/10/12 23:51:32 pertusus Exp $
+
+# Conversion routines for EBCDIC-IS-FRISS.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_IS_FRISS;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e1,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x003c,
+    0x002e,
+    0x00c1,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x00d0,
+    0x00e9,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00ed,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0024,
+    0x0025,
+    0x00c9,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x0026,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0023,
+    0x2018,
+    0x002c,
+    0x00de,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00cd,
+    0xfffd,
+    0xfffd,
+    0x007c,
+    0x00f0,
+    0x003a,
+    0x00c6,
+    0x00d6,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00dd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b0,
+    0x00f6,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0x005b,
+    0x00fd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005d,
+    0x00a8,
+    0xfffd,
+    0xfffd,
+    0x00fe,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f3,
+    0xfffd,
+    0x00e6,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00fa,
+    0xfffd,
+    0x00b4,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00d3,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00da,
+    0x007f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa1",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x3c",
+    "\x2e",
+    "\xc3\x81",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\xc3\x90",
+    "\xc3\xa9",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xad",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x24",
+    "\x25",
+    "\xc3\x89",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x26",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x23",
+    "\xe2\x80\x98",
+    "\x2c",
+    "\xc3\x9e",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x8d",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7c",
+    "\xc3\xb0",
+    "\x3a",
+    "\xc3\x86",
+    "\xc3\x96",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x9d",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb0",
+    "\xc3\xb6",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5b",
+    "\xc3\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5d",
+    "\xc2\xa8",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xbe",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb3",
+    "\xef\xbf\xbd",
+    "\xc3\xa6",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xba",
+    "\xef\xbf\xbd",
+    "\xc2\xb4",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x93",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x9a",
+    "\x7f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x69",
+    0x00000024 => "\x59",
+    0x00000025 => "\x5a",
+    0x00000026 => "\x5f",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4a",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\xac",
+    0x0000005d => "\xbc",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007c => "\x78",
+    0x0000007f => "\xff",
+    0x000000a8 => "\xbd",
+    0x000000b0 => "\xa0",
+    0x000000b4 => "\xe0",
+    0x000000c1 => "\x4c",
+    0x000000c6 => "\x7b",
+    0x000000c9 => "\x5b",
+    0x000000cd => "\x75",
+    0x000000d0 => "\x50",
+    0x000000d3 => "\xee",
+    0x000000d6 => "\x7c",
+    0x000000da => "\xfe",
+    0x000000dd => "\x8d",
+    0x000000de => "\x6c",
+    0x000000e1 => "\x45",
+    0x000000e6 => "\xd0",
+    0x000000e9 => "\x51",
+    0x000000ed => "\x55",
+    0x000000f0 => "\x79",
+    0x000000f3 => "\xce",
+    0x000000f6 => "\xa1",
+    0x000000fa => "\xde",
+    0x000000fd => "\xad",
+    0x000000fe => "\xc0",
+    0x00002018 => "\x6a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_IS_FRISS - Conversion routines for EBCDIC_IS_FRISS
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-IS-FRISS.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: Skyrsuvelar Rikisins og Reykjavikurborgar, feb 1982
+ alias FRISS
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    40 |  00000020 | SPACE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    4A |  0000003C | LESS-THAN SIGN
+    4B |  0000002E | FULL STOP
+    4C |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    59 |  00000024 | DOLLAR SIGN
+    5A |  00000025 | PERCENT SIGN
+    5B |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  00000026 | AMPERSAND
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    69 |  00000023 | NUMBER SIGN
+    6A |  00002018 | LEFT SINGLE QUOTATION MARK
+    6B |  0000002C | COMMA
+    6C |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    78 |  0000007C | VERTICAL LINE
+    79 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    7A |  0000003A | COLON
+    7B |  000000C6 | LATIN CAPITAL LETTER AE
+    7C |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8D |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A0 |  000000B0 | DEGREE SIGN
+    A1 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AC |  0000005B | LEFT SQUARE BRACKET
+    AD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    BC |  0000005D | RIGHT SQUARE BRACKET
+    BD |  000000A8 | DIAERESIS
+    C0 |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    D0 |  000000E6 | LATIN SMALL LETTER AE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    E0 |  000000B4 | ACUTE ACCENT
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IT.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IT.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IT.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_IT.pm        12 Oct 
2011 23:51:32 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_IT.pm,v 1.1 2011/10/12 23:51:32 pertusus Exp $
+
+# Conversion routines for EBCDIC-IT.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_IT;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b0,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e9,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f2,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f9,
+    0x003a,
+    0x00a3,
+    0x00a7,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00ec,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e0,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e8,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e7,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb0",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa9",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb2",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb9",
+    "\x3a",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xac",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa0",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa8",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa7",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\x7b",
+    0x000000a7 => "\x7c",
+    0x000000b0 => "\x4a",
+    0x000000e0 => "\xc0",
+    0x000000e7 => "\xe0",
+    0x000000e8 => "\xd0",
+    0x000000e9 => "\x5a",
+    0x000000ec => "\xa1",
+    0x000000f2 => "\x6a",
+    0x000000f9 => "\x79",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_IT - Conversion routines for EBCDIC_IT
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-IT.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000B0 | DEGREE SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    7A |  0000003A | COLON
+    7B |  000000A3 | POUND SIGN
+    7C |  000000A7 | SECTION SIGN
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_PT.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_PT.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_PT.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_PT.pm        12 Oct 
2011 23:51:32 -0000      1.1
@@ -0,0 +1,943 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_PT.pm,v 1.1 2011/10/12 23:51:32 pertusus Exp $
+
+# Conversion routines for EBCDIC-PT.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_PT;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f5,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x00c3,
+    0x00d5,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e7,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e3,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b4,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00c7,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb5",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa7",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa3",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb4",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x87",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000b4 => "\xd0",
+    0x000000c3 => "\x7b",
+    0x000000c7 => "\xe0",
+    0x000000d5 => "\x7c",
+    0x000000e3 => "\xc0",
+    0x000000e7 => "\xa1",
+    0x000000f5 => "\x6a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_PT - Conversion routines for EBCDIC_PT
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-PT.
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    7C |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000B4 | ACUTE ACCENT
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_UK.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_UK.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_UK.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_UK.pm        12 Oct 
2011 23:51:33 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_UK.pm,v 1.1 2011/10/12 23:51:33 pertusus Exp $
+
+# Conversion routines for EBCDIC-UK.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_UK;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0024,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0021,
+    0x00a3,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x203e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x24",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x21",
+    "\xc2\xa3",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xbe",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x4a",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005c => "\xe0",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\x5b",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+    0x0000203e => "\xa1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_UK - Conversion routines for EBCDIC_UK
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-UK.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  00000024 | DOLLAR SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  000000A3 | POUND SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  0000203E | OVERLINE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_US.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_US.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_US.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/EBCDIC_US.pm        12 Oct 
2011 23:51:33 -0000      1.1
@@ -0,0 +1,953 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: EBCDIC_US.pm,v 1.1 2011/10/12 23:51:33 pertusus Exp $
+
+# Conversion routines for EBCDIC-US.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::EBCDIC_US;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0021,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x21",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005c => "\xe0",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a2 => "\x4a",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::EBCDIC_US - Conversion routines for EBCDIC_US
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for EBCDIC-US.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3270 Char Set Ref Ch 10, GA27-2837-9, April 1987
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ECMA_CYRILLIC.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ECMA_CYRILLIC.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ECMA_CYRILLIC.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ECMA_CYRILLIC.pm    12 Oct 
2011 23:51:33 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ECMA_CYRILLIC.pm,v 1.1 2011/10/12 23:51:33 pertusus Exp $
+
+# Conversion routines for ECMA-CYRILLIC.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ECMA_CYRILLIC;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0452,
+    0x0453,
+    0x0451,
+    0x0454,
+    0x0455,
+    0x0456,
+    0x0457,
+    0x0458,
+    0x0459,
+    0x045a,
+    0x045b,
+    0x045c,
+    0x00ad,
+    0x045e,
+    0x045f,
+    0x2116,
+    0x0402,
+    0x0403,
+    0x0401,
+    0x0404,
+    0x0405,
+    0x0406,
+    0x0407,
+    0x0408,
+    0x0409,
+    0x040a,
+    0x040b,
+    0x040c,
+    0x00a4,
+    0x040e,
+    0x040f,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x042a,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xd1\x92",
+    "\xd1\x93",
+    "\xd1\x91",
+    "\xd1\x94",
+    "\xd1\x95",
+    "\xd1\x96",
+    "\xd1\x97",
+    "\xd1\x98",
+    "\xd1\x99",
+    "\xd1\x9a",
+    "\xd1\x9b",
+    "\xd1\x9c",
+    "\xc2\xad",
+    "\xd1\x9e",
+    "\xd1\x9f",
+    "\xe2\x84\x96",
+    "\xd0\x82",
+    "\xd0\x83",
+    "\xd0\x81",
+    "\xd0\x84",
+    "\xd0\x85",
+    "\xd0\x86",
+    "\xd0\x87",
+    "\xd0\x88",
+    "\xd0\x89",
+    "\xd0\x8a",
+    "\xd0\x8b",
+    "\xd0\x8c",
+    "\xc2\xa4",
+    "\xd0\x8e",
+    "\xd0\x8f",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\xd0\xaa",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a4 => "\xbd",
+    0x000000ad => "\xad",
+    0x00000401 => "\xb3",
+    0x00000402 => "\xb1",
+    0x00000403 => "\xb2",
+    0x00000404 => "\xb4",
+    0x00000405 => "\xb5",
+    0x00000406 => "\xb6",
+    0x00000407 => "\xb7",
+    0x00000408 => "\xb8",
+    0x00000409 => "\xb9",
+    0x0000040a => "\xba",
+    0x0000040b => "\xbb",
+    0x0000040c => "\xbc",
+    0x0000040e => "\xbe",
+    0x0000040f => "\xbf",
+    0x00000410 => "\xe1",
+    0x00000411 => "\xe2",
+    0x00000412 => "\xf7",
+    0x00000413 => "\xe7",
+    0x00000414 => "\xe4",
+    0x00000415 => "\xe5",
+    0x00000416 => "\xf6",
+    0x00000417 => "\xfa",
+    0x00000418 => "\xe9",
+    0x00000419 => "\xea",
+    0x0000041a => "\xeb",
+    0x0000041b => "\xec",
+    0x0000041c => "\xed",
+    0x0000041d => "\xee",
+    0x0000041e => "\xef",
+    0x0000041f => "\xf0",
+    0x00000420 => "\xf2",
+    0x00000421 => "\xf3",
+    0x00000422 => "\xf4",
+    0x00000423 => "\xf5",
+    0x00000424 => "\xe6",
+    0x00000425 => "\xe8",
+    0x00000426 => "\xe3",
+    0x00000427 => "\xfe",
+    0x00000428 => "\xfb",
+    0x00000429 => "\xfd",
+    0x0000042a => "\xff",
+    0x0000042b => "\xf9",
+    0x0000042c => "\xf8",
+    0x0000042d => "\xfc",
+    0x0000042e => "\xe0",
+    0x0000042f => "\xf1",
+    0x00000430 => "\xc1",
+    0x00000431 => "\xc2",
+    0x00000432 => "\xd7",
+    0x00000433 => "\xc7",
+    0x00000434 => "\xc4",
+    0x00000435 => "\xc5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xda",
+    0x00000438 => "\xc9",
+    0x00000439 => "\xca",
+    0x0000043a => "\xcb",
+    0x0000043b => "\xcc",
+    0x0000043c => "\xcd",
+    0x0000043d => "\xce",
+    0x0000043e => "\xcf",
+    0x0000043f => "\xd0",
+    0x00000440 => "\xd2",
+    0x00000441 => "\xd3",
+    0x00000442 => "\xd4",
+    0x00000443 => "\xd5",
+    0x00000444 => "\xc6",
+    0x00000445 => "\xc8",
+    0x00000446 => "\xc3",
+    0x00000447 => "\xde",
+    0x00000448 => "\xdb",
+    0x00000449 => "\xdd",
+    0x0000044a => "\xdf",
+    0x0000044b => "\xd9",
+    0x0000044c => "\xd8",
+    0x0000044d => "\xdc",
+    0x0000044e => "\xc0",
+    0x0000044f => "\xd1",
+    0x00000451 => "\xa3",
+    0x00000452 => "\xa1",
+    0x00000453 => "\xa2",
+    0x00000454 => "\xa4",
+    0x00000455 => "\xa5",
+    0x00000456 => "\xa6",
+    0x00000457 => "\xa7",
+    0x00000458 => "\xa8",
+    0x00000459 => "\xa9",
+    0x0000045a => "\xaa",
+    0x0000045b => "\xab",
+    0x0000045c => "\xac",
+    0x0000045e => "\xae",
+    0x0000045f => "\xaf",
+    0x00002116 => "\xb0",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ECMA_CYRILLIC - Conversion routines for ECMA_CYRILLIC
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ECMA-CYRILLIC.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-111
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000452 | CYRILLIC SMALL LETTER DJE (Serbocroatian)
+    A2 |  00000453 | CYRILLIC SMALL LETTER GJE
+    A3 |  00000451 | CYRILLIC SMALL LETTER IO
+    A4 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    A5 |  00000455 | CYRILLIC SMALL LETTER DZE
+    A6 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    A7 |  00000457 | CYRILLIC SMALL LETTER YI (Ukrainian)
+    A8 |  00000458 | CYRILLIC SMALL LETTER JE
+    A9 |  00000459 | CYRILLIC SMALL LETTER LJE
+    AA |  0000045A | CYRILLIC SMALL LETTER NJE
+    AB |  0000045B | CYRILLIC SMALL LETTER TSHE (Serbocroatian)
+    AC |  0000045C | CYRILLIC SMALL LETTER KJE
+    AD |  000000AD | SOFT HYPHEN
+    AE |  0000045E | CYRILLIC SMALL LETTER SHORT U (Byelorussian)
+    AF |  0000045F | CYRILLIC SMALL LETTER DZHE
+    B0 |  00002116 | NUMERO SIGN
+    B1 |  00000402 | CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
+    B2 |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    B3 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    B4 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    B5 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    B6 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    B7 |  00000407 | CYRILLIC CAPITAL LETTER YI (Ukrainian)
+    B8 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    B9 |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    BA |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    BB |  0000040B | CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
+    BC |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    BD |  000000A4 | CURRENCY SIGN
+    BE |  0000040E | CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
+    BF |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    C0 |  0000044E | CYRILLIC SMALL LETTER YU
+    C1 |  00000430 | CYRILLIC SMALL LETTER A
+    C2 |  00000431 | CYRILLIC SMALL LETTER BE
+    C3 |  00000446 | CYRILLIC SMALL LETTER TSE
+    C4 |  00000434 | CYRILLIC SMALL LETTER DE
+    C5 |  00000435 | CYRILLIC SMALL LETTER IE
+    C6 |  00000444 | CYRILLIC SMALL LETTER EF
+    C7 |  00000433 | CYRILLIC SMALL LETTER GHE
+    C8 |  00000445 | CYRILLIC SMALL LETTER HA
+    C9 |  00000438 | CYRILLIC SMALL LETTER I
+    CA |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    CB |  0000043A | CYRILLIC SMALL LETTER KA
+    CC |  0000043B | CYRILLIC SMALL LETTER EL
+    CD |  0000043C | CYRILLIC SMALL LETTER EM
+    CE |  0000043D | CYRILLIC SMALL LETTER EN
+    CF |  0000043E | CYRILLIC SMALL LETTER O
+    D0 |  0000043F | CYRILLIC SMALL LETTER PE
+    D1 |  0000044F | CYRILLIC SMALL LETTER YA
+    D2 |  00000440 | CYRILLIC SMALL LETTER ER
+    D3 |  00000441 | CYRILLIC SMALL LETTER ES
+    D4 |  00000442 | CYRILLIC SMALL LETTER TE
+    D5 |  00000443 | CYRILLIC SMALL LETTER U
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000432 | CYRILLIC SMALL LETTER VE
+    D8 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    D9 |  0000044B | CYRILLIC SMALL LETTER YERU
+    DA |  00000437 | CYRILLIC SMALL LETTER ZE
+    DB |  00000448 | CYRILLIC SMALL LETTER SHA
+    DC |  0000044D | CYRILLIC SMALL LETTER E
+    DD |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    DE |  00000447 | CYRILLIC SMALL LETTER CHE
+    DF |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    E0 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    E1 |  00000410 | CYRILLIC CAPITAL LETTER A
+    E2 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    E3 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    E4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    E5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    E6 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    E7 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    E8 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    E9 |  00000418 | CYRILLIC CAPITAL LETTER I
+    EA |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    EB |  0000041A | CYRILLIC CAPITAL LETTER KA
+    EC |  0000041B | CYRILLIC CAPITAL LETTER EL
+    ED |  0000041C | CYRILLIC CAPITAL LETTER EM
+    EE |  0000041D | CYRILLIC CAPITAL LETTER EN
+    EF |  0000041E | CYRILLIC CAPITAL LETTER O
+    F0 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    F1 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    F2 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    F3 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    F4 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    F5 |  00000423 | CYRILLIC CAPITAL LETTER U
+    F6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    F7 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    F8 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    F9 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    FA |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    FB |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    FC |  0000042D | CYRILLIC CAPITAL LETTER E
+    FD |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FE |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    FF |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_ACADEMY.pm 12 Oct 
2011 23:51:33 -0000      1.1
@@ -0,0 +1,1135 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: GEORGIAN_ACADEMY.pm,v 1.1 2011/10/12 23:51:33 pertusus Exp $
+
+# Conversion routines for GEORGIAN-ACADEMY.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::GEORGIAN_ACADEMY;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x201a,
+    0x0192,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0x02c6,
+    0x2030,
+    0x0160,
+    0x2039,
+    0x0152,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0x02dc,
+    0x2122,
+    0x0161,
+    0x203a,
+    0x0153,
+    0x009d,
+    0x009e,
+    0x0178,
+    0x00a0,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00bf,
+    0x10d0,
+    0x10d1,
+    0x10d2,
+    0x10d3,
+    0x10d4,
+    0x10d5,
+    0x10d6,
+    0x10d7,
+    0x10d8,
+    0x10d9,
+    0x10da,
+    0x10db,
+    0x10dc,
+    0x10dd,
+    0x10de,
+    0x10df,
+    0x10e0,
+    0x10e1,
+    0x10e2,
+    0x10e3,
+    0x10e4,
+    0x10e5,
+    0x10e6,
+    0x10e7,
+    0x10e8,
+    0x10e9,
+    0x10ea,
+    0x10eb,
+    0x10ec,
+    0x10ed,
+    0x10ee,
+    0x10ef,
+    0x10f0,
+    0x10f1,
+    0x10f2,
+    0x10f3,
+    0x10f4,
+    0x10f5,
+    0x10f6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x00fe,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xe2\x80\x9a",
+    "\xc6\x92",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xcb\x86",
+    "\xe2\x80\xb0",
+    "\xc5\xa0",
+    "\xe2\x80\xb9",
+    "\xc5\x92",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xcb\x9c",
+    "\xe2\x84\xa2",
+    "\xc5\xa1",
+    "\xe2\x80\xba",
+    "\xc5\x93",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc5\xb8",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xbf",
+    "\xe1\x83\x90",
+    "\xe1\x83\x91",
+    "\xe1\x83\x92",
+    "\xe1\x83\x93",
+    "\xe1\x83\x94",
+    "\xe1\x83\x95",
+    "\xe1\x83\x96",
+    "\xe1\x83\x97",
+    "\xe1\x83\x98",
+    "\xe1\x83\x99",
+    "\xe1\x83\x9a",
+    "\xe1\x83\x9b",
+    "\xe1\x83\x9c",
+    "\xe1\x83\x9d",
+    "\xe1\x83\x9e",
+    "\xe1\x83\x9f",
+    "\xe1\x83\xa0",
+    "\xe1\x83\xa1",
+    "\xe1\x83\xa2",
+    "\xe1\x83\xa3",
+    "\xe1\x83\xa4",
+    "\xe1\x83\xa5",
+    "\xe1\x83\xa6",
+    "\xe1\x83\xa7",
+    "\xe1\x83\xa8",
+    "\xe1\x83\xa9",
+    "\xe1\x83\xaa",
+    "\xe1\x83\xab",
+    "\xe1\x83\xac",
+    "\xe1\x83\xad",
+    "\xe1\x83\xae",
+    "\xe1\x83\xaf",
+    "\xe1\x83\xb0",
+    "\xe1\x83\xb1",
+    "\xe1\x83\xb2",
+    "\xe1\x83\xb3",
+    "\xe1\x83\xb4",
+    "\xe1\x83\xb5",
+    "\xe1\x83\xb6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000bf => "\xbf",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f0 => "\xf0",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000fe => "\xfe",
+    0x000000ff => "\xff",
+    0x00000152 => "\x8c",
+    0x00000153 => "\x9c",
+    0x00000160 => "\x8a",
+    0x00000161 => "\x9a",
+    0x00000178 => "\x9f",
+    0x00000192 => "\x83",
+    0x000002c6 => "\x88",
+    0x000002dc => "\x98",
+    0x000010d0 => "\xc0",
+    0x000010d1 => "\xc1",
+    0x000010d2 => "\xc2",
+    0x000010d3 => "\xc3",
+    0x000010d4 => "\xc4",
+    0x000010d5 => "\xc5",
+    0x000010d6 => "\xc6",
+    0x000010d7 => "\xc7",
+    0x000010d8 => "\xc8",
+    0x000010d9 => "\xc9",
+    0x000010da => "\xca",
+    0x000010db => "\xcb",
+    0x000010dc => "\xcc",
+    0x000010dd => "\xcd",
+    0x000010de => "\xce",
+    0x000010df => "\xcf",
+    0x000010e0 => "\xd0",
+    0x000010e1 => "\xd1",
+    0x000010e2 => "\xd2",
+    0x000010e3 => "\xd3",
+    0x000010e4 => "\xd4",
+    0x000010e5 => "\xd5",
+    0x000010e6 => "\xd6",
+    0x000010e7 => "\xd7",
+    0x000010e8 => "\xd8",
+    0x000010e9 => "\xd9",
+    0x000010ea => "\xda",
+    0x000010eb => "\xdb",
+    0x000010ec => "\xdc",
+    0x000010ed => "\xdd",
+    0x000010ee => "\xde",
+    0x000010ef => "\xdf",
+    0x000010f0 => "\xe0",
+    0x000010f1 => "\xe1",
+    0x000010f2 => "\xe2",
+    0x000010f3 => "\xe3",
+    0x000010f4 => "\xe4",
+    0x000010f5 => "\xe5",
+    0x000010f6 => "\xe6",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::GEORGIAN_ACADEMY - Conversion routines for GEORGIAN-ACADEMY
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for GEORGIAN-ACADEMY.
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    88 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  00000152 | LATIN CAPITAL LIGATURE OE
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    98 |  000002DC | SMALL TILDE
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  00000153 | LATIN SMALL LIGATURE OE
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000010D0 | GEORGIAN LETTER AN
+    C1 |  000010D1 | GEORGIAN LETTER BAN
+    C2 |  000010D2 | GEORGIAN LETTER GAN
+    C3 |  000010D3 | GEORGIAN LETTER DON
+    C4 |  000010D4 | GEORGIAN LETTER EN
+    C5 |  000010D5 | GEORGIAN LETTER VIN
+    C6 |  000010D6 | GEORGIAN LETTER ZEN
+    C7 |  000010D7 | GEORGIAN LETTER TAN
+    C8 |  000010D8 | GEORGIAN LETTER IN
+    C9 |  000010D9 | GEORGIAN LETTER KAN
+    CA |  000010DA | GEORGIAN LETTER LAS
+    CB |  000010DB | GEORGIAN LETTER MAN
+    CC |  000010DC | GEORGIAN LETTER NAR
+    CD |  000010DD | GEORGIAN LETTER ON
+    CE |  000010DE | GEORGIAN LETTER PAR
+    CF |  000010DF | GEORGIAN LETTER ZHAR
+    D0 |  000010E0 | GEORGIAN LETTER RAE
+    D1 |  000010E1 | GEORGIAN LETTER SAN
+    D2 |  000010E2 | GEORGIAN LETTER TAR
+    D3 |  000010E3 | GEORGIAN LETTER UN
+    D4 |  000010E4 | GEORGIAN LETTER PHAR
+    D5 |  000010E5 | GEORGIAN LETTER KHAR
+    D6 |  000010E6 | GEORGIAN LETTER GHAN
+    D7 |  000010E7 | GEORGIAN LETTER QAR
+    D8 |  000010E8 | GEORGIAN LETTER SHIN
+    D9 |  000010E9 | GEORGIAN LETTER CHIN
+    DA |  000010EA | GEORGIAN LETTER CAN
+    DB |  000010EB | GEORGIAN LETTER JIL
+    DC |  000010EC | GEORGIAN LETTER CIL
+    DD |  000010ED | GEORGIAN LETTER CHAR
+    DE |  000010EE | GEORGIAN LETTER XAN
+    DF |  000010EF | GEORGIAN LETTER JHAN
+    E0 |  000010F0 | GEORGIAN LETTER HAE
+    E1 |  000010F1 | GEORGIAN LETTER HE
+    E2 |  000010F2 | GEORGIAN LETTER HIE
+    E3 |  000010F3 | GEORGIAN LETTER WE
+    E4 |  000010F4 | GEORGIAN LETTER HAR
+    E5 |  000010F5 | GEORGIAN LETTER HOE
+    E6 |  000010F6 | GEORGIAN LETTER FI
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_PS.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_PS.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_PS.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/GEORGIAN_PS.pm      12 Oct 
2011 23:51:34 -0000      1.1
@@ -0,0 +1,1135 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: GEORGIAN_PS.pm,v 1.1 2011/10/12 23:51:34 pertusus Exp $
+
+# Conversion routines for GEORGIAN-PS.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::GEORGIAN_PS;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x201a,
+    0x0192,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0x02c6,
+    0x2030,
+    0x0160,
+    0x2039,
+    0x0152,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0x02dc,
+    0x2122,
+    0x0161,
+    0x203a,
+    0x0153,
+    0x009d,
+    0x009e,
+    0x0178,
+    0x00a0,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00bf,
+    0x10d0,
+    0x10d1,
+    0x10d2,
+    0x10d3,
+    0x10d4,
+    0x10d5,
+    0x10d6,
+    0x10f1,
+    0x10d7,
+    0x10d8,
+    0x10d9,
+    0x10da,
+    0x10db,
+    0x10dc,
+    0x10f2,
+    0x10dd,
+    0x10de,
+    0x10df,
+    0x10e0,
+    0x10e1,
+    0x10e2,
+    0x10f3,
+    0x10e3,
+    0x10e4,
+    0x10e5,
+    0x10e6,
+    0x10e7,
+    0x10e8,
+    0x10e9,
+    0x10ea,
+    0x10eb,
+    0x10ec,
+    0x10ed,
+    0x10ee,
+    0x10f4,
+    0x10ef,
+    0x10f0,
+    0x10f5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x00fe,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xe2\x80\x9a",
+    "\xc6\x92",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xcb\x86",
+    "\xe2\x80\xb0",
+    "\xc5\xa0",
+    "\xe2\x80\xb9",
+    "\xc5\x92",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xcb\x9c",
+    "\xe2\x84\xa2",
+    "\xc5\xa1",
+    "\xe2\x80\xba",
+    "\xc5\x93",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc5\xb8",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xbf",
+    "\xe1\x83\x90",
+    "\xe1\x83\x91",
+    "\xe1\x83\x92",
+    "\xe1\x83\x93",
+    "\xe1\x83\x94",
+    "\xe1\x83\x95",
+    "\xe1\x83\x96",
+    "\xe1\x83\xb1",
+    "\xe1\x83\x97",
+    "\xe1\x83\x98",
+    "\xe1\x83\x99",
+    "\xe1\x83\x9a",
+    "\xe1\x83\x9b",
+    "\xe1\x83\x9c",
+    "\xe1\x83\xb2",
+    "\xe1\x83\x9d",
+    "\xe1\x83\x9e",
+    "\xe1\x83\x9f",
+    "\xe1\x83\xa0",
+    "\xe1\x83\xa1",
+    "\xe1\x83\xa2",
+    "\xe1\x83\xb3",
+    "\xe1\x83\xa3",
+    "\xe1\x83\xa4",
+    "\xe1\x83\xa5",
+    "\xe1\x83\xa6",
+    "\xe1\x83\xa7",
+    "\xe1\x83\xa8",
+    "\xe1\x83\xa9",
+    "\xe1\x83\xaa",
+    "\xe1\x83\xab",
+    "\xe1\x83\xac",
+    "\xe1\x83\xad",
+    "\xe1\x83\xae",
+    "\xe1\x83\xb4",
+    "\xe1\x83\xaf",
+    "\xe1\x83\xb0",
+    "\xe1\x83\xb5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000bf => "\xbf",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f0 => "\xf0",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000fe => "\xfe",
+    0x000000ff => "\xff",
+    0x00000152 => "\x8c",
+    0x00000153 => "\x9c",
+    0x00000160 => "\x8a",
+    0x00000161 => "\x9a",
+    0x00000178 => "\x9f",
+    0x00000192 => "\x83",
+    0x000002c6 => "\x88",
+    0x000002dc => "\x98",
+    0x000010d0 => "\xc0",
+    0x000010d1 => "\xc1",
+    0x000010d2 => "\xc2",
+    0x000010d3 => "\xc3",
+    0x000010d4 => "\xc4",
+    0x000010d5 => "\xc5",
+    0x000010d6 => "\xc6",
+    0x000010d7 => "\xc8",
+    0x000010d8 => "\xc9",
+    0x000010d9 => "\xca",
+    0x000010da => "\xcb",
+    0x000010db => "\xcc",
+    0x000010dc => "\xcd",
+    0x000010dd => "\xcf",
+    0x000010de => "\xd0",
+    0x000010df => "\xd1",
+    0x000010e0 => "\xd2",
+    0x000010e1 => "\xd3",
+    0x000010e2 => "\xd4",
+    0x000010e3 => "\xd6",
+    0x000010e4 => "\xd7",
+    0x000010e5 => "\xd8",
+    0x000010e6 => "\xd9",
+    0x000010e7 => "\xda",
+    0x000010e8 => "\xdb",
+    0x000010e9 => "\xdc",
+    0x000010ea => "\xdd",
+    0x000010eb => "\xde",
+    0x000010ec => "\xdf",
+    0x000010ed => "\xe0",
+    0x000010ee => "\xe1",
+    0x000010ef => "\xe3",
+    0x000010f0 => "\xe4",
+    0x000010f1 => "\xc7",
+    0x000010f2 => "\xce",
+    0x000010f3 => "\xd5",
+    0x000010f4 => "\xe2",
+    0x000010f5 => "\xe5",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::GEORGIAN_PS - Conversion routines for GEORGIAN-PS
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for GEORGIAN-PS.
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    88 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  00000152 | LATIN CAPITAL LIGATURE OE
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    98 |  000002DC | SMALL TILDE
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  00000153 | LATIN SMALL LIGATURE OE
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000010D0 | GEORGIAN LETTER AN
+    C1 |  000010D1 | GEORGIAN LETTER BAN
+    C2 |  000010D2 | GEORGIAN LETTER GAN
+    C3 |  000010D3 | GEORGIAN LETTER DON
+    C4 |  000010D4 | GEORGIAN LETTER EN
+    C5 |  000010D5 | GEORGIAN LETTER VIN
+    C6 |  000010D6 | GEORGIAN LETTER ZEN
+    C7 |  000010F1 | GEORGIAN LETTER HE
+    C8 |  000010D7 | GEORGIAN LETTER TAN
+    C9 |  000010D8 | GEORGIAN LETTER IN
+    CA |  000010D9 | GEORGIAN LETTER KAN
+    CB |  000010DA | GEORGIAN LETTER LAS
+    CC |  000010DB | GEORGIAN LETTER MAN
+    CD |  000010DC | GEORGIAN LETTER NAR
+    CE |  000010F2 | GEORGIAN LETTER HIE
+    CF |  000010DD | GEORGIAN LETTER ON
+    D0 |  000010DE | GEORGIAN LETTER PAR
+    D1 |  000010DF | GEORGIAN LETTER ZHAR
+    D2 |  000010E0 | GEORGIAN LETTER RAE
+    D3 |  000010E1 | GEORGIAN LETTER SAN
+    D4 |  000010E2 | GEORGIAN LETTER TAR
+    D5 |  000010F3 | GEORGIAN LETTER WE
+    D6 |  000010E3 | GEORGIAN LETTER UN
+    D7 |  000010E4 | GEORGIAN LETTER PHAR
+    D8 |  000010E5 | GEORGIAN LETTER KHAR
+    D9 |  000010E6 | GEORGIAN LETTER GHAN
+    DA |  000010E7 | GEORGIAN LETTER QAR
+    DB |  000010E8 | GEORGIAN LETTER SHIN
+    DC |  000010E9 | GEORGIAN LETTER CHIN
+    DD |  000010EA | GEORGIAN LETTER CAN
+    DE |  000010EB | GEORGIAN LETTER JIL
+    DF |  000010EC | GEORGIAN LETTER CIL
+    E0 |  000010ED | GEORGIAN LETTER CHAR
+    E1 |  000010EE | GEORGIAN LETTER XAN
+    E2 |  000010F4 | GEORGIAN LETTER HAR
+    E3 |  000010EF | GEORGIAN LETTER JHAN
+    E4 |  000010F0 | GEORGIAN LETTER HAE
+    E5 |  000010F5 | GEORGIAN LETTER HOE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/GOST_19768_74.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/GOST_19768_74.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/GOST_19768_74.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/GOST_19768_74.pm    12 Oct 
2011 23:51:34 -0000      1.1
@@ -0,0 +1,1091 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: GOST_19768_74.pm,v 1.1 2011/10/12 23:51:34 pertusus Exp $
+
+# Conversion routines for GOST_19768-74.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::GOST_19768_74;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0401,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00ad,
+    0xfffd,
+    0xfffd,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x044f,
+    0xfffd,
+    0x0451,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xd0\x81",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xad",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xd1\x8f",
+    "\xef\xbf\xbd",
+    "\xd1\x91",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000ad => "\xad",
+    0x00000401 => "\xa1",
+    0x00000410 => "\xb0",
+    0x00000411 => "\xb1",
+    0x00000412 => "\xb2",
+    0x00000413 => "\xb3",
+    0x00000414 => "\xb4",
+    0x00000415 => "\xb5",
+    0x00000416 => "\xb6",
+    0x00000417 => "\xb7",
+    0x00000418 => "\xb8",
+    0x00000419 => "\xb9",
+    0x0000041a => "\xba",
+    0x0000041b => "\xbb",
+    0x0000041c => "\xbc",
+    0x0000041d => "\xbd",
+    0x0000041e => "\xbe",
+    0x0000041f => "\xbf",
+    0x00000420 => "\xc0",
+    0x00000421 => "\xc1",
+    0x00000422 => "\xc2",
+    0x00000423 => "\xc3",
+    0x00000424 => "\xc4",
+    0x00000425 => "\xc5",
+    0x00000426 => "\xc6",
+    0x00000427 => "\xc7",
+    0x00000428 => "\xc8",
+    0x00000429 => "\xc9",
+    0x0000042a => "\xca",
+    0x0000042b => "\xcb",
+    0x0000042c => "\xcc",
+    0x0000042d => "\xcd",
+    0x0000042e => "\xce",
+    0x0000042f => "\xcf",
+    0x00000430 => "\xd0",
+    0x00000431 => "\xd1",
+    0x00000432 => "\xd2",
+    0x00000433 => "\xd3",
+    0x00000434 => "\xd4",
+    0x00000435 => "\xd5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xd7",
+    0x00000438 => "\xd8",
+    0x00000439 => "\xd9",
+    0x0000043a => "\xda",
+    0x0000043b => "\xdb",
+    0x0000043c => "\xdc",
+    0x0000043d => "\xdd",
+    0x0000043e => "\xde",
+    0x0000043f => "\xdf",
+    0x00000440 => "\xe0",
+    0x00000441 => "\xe1",
+    0x00000442 => "\xe2",
+    0x00000443 => "\xe3",
+    0x00000444 => "\xe4",
+    0x00000445 => "\xe5",
+    0x00000446 => "\xe6",
+    0x00000447 => "\xe7",
+    0x00000448 => "\xe8",
+    0x00000449 => "\xe9",
+    0x0000044a => "\xea",
+    0x0000044b => "\xeb",
+    0x0000044c => "\xec",
+    0x0000044d => "\xed",
+    0x0000044e => "\xee",
+    0x0000044f => "\xef",
+    0x00000451 => "\xf1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::GOST_19768_74 - Conversion routines for GOST_19768_74
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for GOST_19768-74.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ST_SEV_358-88
+ alias ISO-IR-153
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    AD |  000000AD | SOFT HYPHEN
+    B0 |  00000410 | CYRILLIC CAPITAL LETTER A
+    B1 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    B2 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    B3 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    B4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    B5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    B6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    B7 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    B8 |  00000418 | CYRILLIC CAPITAL LETTER I
+    B9 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    BA |  0000041A | CYRILLIC CAPITAL LETTER KA
+    BB |  0000041B | CYRILLIC CAPITAL LETTER EL
+    BC |  0000041C | CYRILLIC CAPITAL LETTER EM
+    BD |  0000041D | CYRILLIC CAPITAL LETTER EN
+    BE |  0000041E | CYRILLIC CAPITAL LETTER O
+    BF |  0000041F | CYRILLIC CAPITAL LETTER PE
+    C0 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    C1 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    C2 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    C3 |  00000423 | CYRILLIC CAPITAL LETTER U
+    C4 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    C5 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    C6 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    C7 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    C8 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    C9 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    CA |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    CB |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    CC |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    CD |  0000042D | CYRILLIC CAPITAL LETTER E
+    CE |  0000042E | CYRILLIC CAPITAL LETTER YU
+    CF |  0000042F | CYRILLIC CAPITAL LETTER YA
+    D0 |  00000430 | CYRILLIC SMALL LETTER A
+    D1 |  00000431 | CYRILLIC SMALL LETTER BE
+    D2 |  00000432 | CYRILLIC SMALL LETTER VE
+    D3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    D4 |  00000434 | CYRILLIC SMALL LETTER DE
+    D5 |  00000435 | CYRILLIC SMALL LETTER IE
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    D8 |  00000438 | CYRILLIC SMALL LETTER I
+    D9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    DA |  0000043A | CYRILLIC SMALL LETTER KA
+    DB |  0000043B | CYRILLIC SMALL LETTER EL
+    DC |  0000043C | CYRILLIC SMALL LETTER EM
+    DD |  0000043D | CYRILLIC SMALL LETTER EN
+    DE |  0000043E | CYRILLIC SMALL LETTER O
+    DF |  0000043F | CYRILLIC SMALL LETTER PE
+    E0 |  00000440 | CYRILLIC SMALL LETTER ER
+    E1 |  00000441 | CYRILLIC SMALL LETTER ES
+    E2 |  00000442 | CYRILLIC SMALL LETTER TE
+    E3 |  00000443 | CYRILLIC SMALL LETTER U
+    E4 |  00000444 | CYRILLIC SMALL LETTER EF
+    E5 |  00000445 | CYRILLIC SMALL LETTER HA
+    E6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    E7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    E8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    E9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    EA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    EB |  0000044B | CYRILLIC SMALL LETTER YERU
+    EC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    ED |  0000044D | CYRILLIC SMALL LETTER E
+    EE |  0000044E | CYRILLIC SMALL LETTER YU
+    EF |  0000044F | CYRILLIC SMALL LETTER YA
+    F1 |  00000451 | CYRILLIC SMALL LETTER IO
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7.pm   12 Oct 2011 
23:51:34 -0000      1.1
@@ -0,0 +1,885 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: GREEK7.pm,v 1.1 2011/10/12 23:51:34 pertusus Exp $
+
+# Conversion routines for GREEK7.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::GREEK7;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x00a4,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x0398,
+    0x0399,
+    0xfffd,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039e,
+    0x039f,
+    0x03a0,
+    0x03a1,
+    0x03a3,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0xfffd,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0xfffd,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c3,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c2,
+    0x03c7,
+    0x03c8,
+    0x03c9,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x203e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\xc2\xa4",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x98",
+    "\xce\x99",
+    "\xef\xbf\xbd",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xef\xbf\xbd",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xef\xbf\xbd",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x82",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\xcf\x89",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\xe2\x80\xbe",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007f => "\x7f",
+    0x000000a4 => "\x24",
+    0x00000391 => "\x41",
+    0x00000392 => "\x42",
+    0x00000393 => "\x43",
+    0x00000394 => "\x44",
+    0x00000395 => "\x45",
+    0x00000396 => "\x46",
+    0x00000397 => "\x47",
+    0x00000398 => "\x48",
+    0x00000399 => "\x49",
+    0x0000039a => "\x4b",
+    0x0000039b => "\x4c",
+    0x0000039c => "\x4d",
+    0x0000039d => "\x4e",
+    0x0000039e => "\x4f",
+    0x0000039f => "\x50",
+    0x000003a0 => "\x51",
+    0x000003a1 => "\x52",
+    0x000003a3 => "\x53",
+    0x000003a4 => "\x54",
+    0x000003a5 => "\x55",
+    0x000003a6 => "\x56",
+    0x000003a7 => "\x58",
+    0x000003a8 => "\x59",
+    0x000003a9 => "\x5a",
+    0x000003b1 => "\x61",
+    0x000003b2 => "\x62",
+    0x000003b3 => "\x63",
+    0x000003b4 => "\x64",
+    0x000003b5 => "\x65",
+    0x000003b6 => "\x66",
+    0x000003b7 => "\x67",
+    0x000003b8 => "\x68",
+    0x000003b9 => "\x69",
+    0x000003ba => "\x6b",
+    0x000003bb => "\x6c",
+    0x000003bc => "\x6d",
+    0x000003bd => "\x6e",
+    0x000003be => "\x6f",
+    0x000003bf => "\x70",
+    0x000003c0 => "\x71",
+    0x000003c1 => "\x72",
+    0x000003c2 => "\x77",
+    0x000003c3 => "\x73",
+    0x000003c4 => "\x74",
+    0x000003c5 => "\x75",
+    0x000003c6 => "\x76",
+    0x000003c7 => "\x78",
+    0x000003c8 => "\x79",
+    0x000003c9 => "\x7a",
+    0x0000203e => "\x7e",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::GREEK7 - Conversion routines for GREEK7
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for GREEK7.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: ECMA registry
+ alias ISO-IR-88
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  000000A4 | CURRENCY SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    42 |  00000392 | GREEK CAPITAL LETTER BETA
+    43 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    44 |  00000394 | GREEK CAPITAL LETTER DELTA
+    45 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    46 |  00000396 | GREEK CAPITAL LETTER ZETA
+    47 |  00000397 | GREEK CAPITAL LETTER ETA
+    48 |  00000398 | GREEK CAPITAL LETTER THETA
+    49 |  00000399 | GREEK CAPITAL LETTER IOTA
+    4B |  0000039A | GREEK CAPITAL LETTER KAPPA
+    4C |  0000039B | GREEK CAPITAL LETTER LAMDA
+    4D |  0000039C | GREEK CAPITAL LETTER MU
+    4E |  0000039D | GREEK CAPITAL LETTER NU
+    4F |  0000039E | GREEK CAPITAL LETTER XI
+    50 |  0000039F | GREEK CAPITAL LETTER OMICRON
+    51 |  000003A0 | GREEK CAPITAL LETTER PI
+    52 |  000003A1 | GREEK CAPITAL LETTER RHO
+    53 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    54 |  000003A4 | GREEK CAPITAL LETTER TAU
+    55 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    56 |  000003A6 | GREEK CAPITAL LETTER PHI
+    58 |  000003A7 | GREEK CAPITAL LETTER CHI
+    59 |  000003A8 | GREEK CAPITAL LETTER PSI
+    5A |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  000003B1 | GREEK SMALL LETTER ALPHA
+    62 |  000003B2 | GREEK SMALL LETTER BETA
+    63 |  000003B3 | GREEK SMALL LETTER GAMMA
+    64 |  000003B4 | GREEK SMALL LETTER DELTA
+    65 |  000003B5 | GREEK SMALL LETTER EPSILON
+    66 |  000003B6 | GREEK SMALL LETTER ZETA
+    67 |  000003B7 | GREEK SMALL LETTER ETA
+    68 |  000003B8 | GREEK SMALL LETTER THETA
+    69 |  000003B9 | GREEK SMALL LETTER IOTA
+    6B |  000003BA | GREEK SMALL LETTER KAPPA
+    6C |  000003BB | GREEK SMALL LETTER LAMDA
+    6D |  000003BC | GREEK SMALL LETTER MU
+    6E |  000003BD | GREEK SMALL LETTER NU
+    6F |  000003BE | GREEK SMALL LETTER XI
+    70 |  000003BF | GREEK SMALL LETTER OMICRON
+    71 |  000003C0 | GREEK SMALL LETTER PI
+    72 |  000003C1 | GREEK SMALL LETTER RHO
+    73 |  000003C3 | GREEK SMALL LETTER SIGMA
+    74 |  000003C4 | GREEK SMALL LETTER TAU
+    75 |  000003C5 | GREEK SMALL LETTER UPSILON
+    76 |  000003C6 | GREEK SMALL LETTER PHI
+    77 |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    78 |  000003C7 | GREEK SMALL LETTER CHI
+    79 |  000003C8 | GREEK SMALL LETTER PSI
+    7A |  000003C9 | GREEK SMALL LETTER OMEGA
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000203E | OVERLINE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7_OLD.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7_OLD.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7_OLD.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK7_OLD.pm       12 Oct 
2011 23:51:34 -0000      1.1
@@ -0,0 +1,888 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: GREEK7_OLD.pm,v 1.1 2011/10/12 23:51:34 pertusus Exp $
+
+# Conversion routines for GREEK7-OLD.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::GREEK7_OLD;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x00a3,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x00b4,
+    0x03b1,
+    0x03b2,
+    0x03c8,
+    0x03b4,
+    0x03b5,
+    0x03c6,
+    0x03b3,
+    0x03b7,
+    0x03b9,
+    0x03be,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03bf,
+    0x03c0,
+    0x037a,
+    0x03c1,
+    0x03c3,
+    0x03c4,
+    0x03b8,
+    0x03c9,
+    0x03c2,
+    0x03c7,
+    0x03c5,
+    0x03b6,
+    0x1fcf,
+    0x1fbf,
+    0x1fce,
+    0x007e,
+    0x005f,
+    0x0060,
+    0x0391,
+    0x0392,
+    0x03a8,
+    0x0394,
+    0x0395,
+    0x03a6,
+    0x0393,
+    0x0397,
+    0x0399,
+    0x039e,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039f,
+    0x03a0,
+    0xfffd,
+    0x03a1,
+    0x03a3,
+    0x03a4,
+    0x0398,
+    0x03a9,
+    0x00b7,
+    0x03a7,
+    0x03a5,
+    0x0396,
+    0x1fdf,
+    0x1ffe,
+    0x1fde,
+    0x00a8,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\xc2\xa3",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\xc2\xb4",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xcf\x88",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xcf\x86",
+    "\xce\xb3",
+    "\xce\xb7",
+    "\xce\xb9",
+    "\xce\xbe",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcd\xba",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xcf\x84",
+    "\xce\xb8",
+    "\xcf\x89",
+    "\xcf\x82",
+    "\xcf\x87",
+    "\xcf\x85",
+    "\xce\xb6",
+    "\xe1\xbf\x8f",
+    "\xe1\xbe\xbf",
+    "\xe1\xbf\x8e",
+    "\x7e",
+    "\x5f",
+    "\x60",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\xa8",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\xa6",
+    "\xce\x93",
+    "\xce\x97",
+    "\xce\x99",
+    "\xce\x9e",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xef\xbf\xbd",
+    "\xce\xa1",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xc2\xb7",
+    "\xce\xa7",
+    "\xce\xa5",
+    "\xce\x96",
+    "\xe1\xbf\x9f",
+    "\xe1\xbf\xbe",
+    "\xe1\xbf\x9e",
+    "\xc2\xa8",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x0000007e => "\x5e",
+    0x0000007f => "\x7f",
+    0x000000a3 => "\x23",
+    0x000000a8 => "\x7e",
+    0x000000b4 => "\x40",
+    0x000000b7 => "\x77",
+    0x0000037a => "\x51",
+    0x00000391 => "\x61",
+    0x00000392 => "\x62",
+    0x00000393 => "\x67",
+    0x00000394 => "\x64",
+    0x00000395 => "\x65",
+    0x00000396 => "\x7a",
+    0x00000397 => "\x68",
+    0x00000398 => "\x75",
+    0x00000399 => "\x69",
+    0x0000039a => "\x6b",
+    0x0000039b => "\x6c",
+    0x0000039c => "\x6d",
+    0x0000039d => "\x6e",
+    0x0000039e => "\x6a",
+    0x0000039f => "\x6f",
+    0x000003a0 => "\x70",
+    0x000003a1 => "\x72",
+    0x000003a3 => "\x73",
+    0x000003a4 => "\x74",
+    0x000003a5 => "\x79",
+    0x000003a6 => "\x66",
+    0x000003a7 => "\x78",
+    0x000003a8 => "\x63",
+    0x000003a9 => "\x76",
+    0x000003b1 => "\x41",
+    0x000003b2 => "\x42",
+    0x000003b3 => "\x47",
+    0x000003b4 => "\x44",
+    0x000003b5 => "\x45",
+    0x000003b6 => "\x5a",
+    0x000003b7 => "\x48",
+    0x000003b8 => "\x55",
+    0x000003b9 => "\x49",
+    0x000003ba => "\x4b",
+    0x000003bb => "\x4c",
+    0x000003bc => "\x4d",
+    0x000003bd => "\x4e",
+    0x000003be => "\x4a",
+    0x000003bf => "\x4f",
+    0x000003c0 => "\x50",
+    0x000003c1 => "\x52",
+    0x000003c2 => "\x57",
+    0x000003c3 => "\x53",
+    0x000003c4 => "\x54",
+    0x000003c5 => "\x59",
+    0x000003c6 => "\x46",
+    0x000003c7 => "\x58",
+    0x000003c8 => "\x43",
+    0x000003c9 => "\x56",
+    0x00001fbf => "\x5c",
+    0x00001fce => "\x5d",
+    0x00001fcf => "\x5b",
+    0x00001fde => "\x7d",
+    0x00001fdf => "\x7b",
+    0x00001ffe => "\x7c",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::GREEK7_OLD - Conversion routines for GREEK7_OLD
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for GREEK7-OLD.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-18
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  000000A3 | POUND SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  000000B4 | ACUTE ACCENT
+    41 |  000003B1 | GREEK SMALL LETTER ALPHA
+    42 |  000003B2 | GREEK SMALL LETTER BETA
+    43 |  000003C8 | GREEK SMALL LETTER PSI
+    44 |  000003B4 | GREEK SMALL LETTER DELTA
+    45 |  000003B5 | GREEK SMALL LETTER EPSILON
+    46 |  000003C6 | GREEK SMALL LETTER PHI
+    47 |  000003B3 | GREEK SMALL LETTER GAMMA
+    48 |  000003B7 | GREEK SMALL LETTER ETA
+    49 |  000003B9 | GREEK SMALL LETTER IOTA
+    4A |  000003BE | GREEK SMALL LETTER XI
+    4B |  000003BA | GREEK SMALL LETTER KAPPA
+    4C |  000003BB | GREEK SMALL LETTER LAMDA
+    4D |  000003BC | GREEK SMALL LETTER MU
+    4E |  000003BD | GREEK SMALL LETTER NU
+    4F |  000003BF | GREEK SMALL LETTER OMICRON
+    50 |  000003C0 | GREEK SMALL LETTER PI
+    51 |  0000037A | GREEK YPOGEGRAMMENI
+    52 |  000003C1 | GREEK SMALL LETTER RHO
+    53 |  000003C3 | GREEK SMALL LETTER SIGMA
+    54 |  000003C4 | GREEK SMALL LETTER TAU
+    55 |  000003B8 | GREEK SMALL LETTER THETA
+    56 |  000003C9 | GREEK SMALL LETTER OMEGA
+    57 |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    58 |  000003C7 | GREEK SMALL LETTER CHI
+    59 |  000003C5 | GREEK SMALL LETTER UPSILON
+    5A |  000003B6 | GREEK SMALL LETTER ZETA
+    5B |  00001FCF | GREEK PSILI AND PERISPOMENI
+    5C |  00001FBF | GREEK PSILI
+    5D |  00001FCE | GREEK PSILI AND OXIA
+    5E |  0000007E | TILDE
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    62 |  00000392 | GREEK CAPITAL LETTER BETA
+    63 |  000003A8 | GREEK CAPITAL LETTER PSI
+    64 |  00000394 | GREEK CAPITAL LETTER DELTA
+    65 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    66 |  000003A6 | GREEK CAPITAL LETTER PHI
+    67 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    68 |  00000397 | GREEK CAPITAL LETTER ETA
+    69 |  00000399 | GREEK CAPITAL LETTER IOTA
+    6A |  0000039E | GREEK CAPITAL LETTER XI
+    6B |  0000039A | GREEK CAPITAL LETTER KAPPA
+    6C |  0000039B | GREEK CAPITAL LETTER LAMDA
+    6D |  0000039C | GREEK CAPITAL LETTER MU
+    6E |  0000039D | GREEK CAPITAL LETTER NU
+    6F |  0000039F | GREEK CAPITAL LETTER OMICRON
+    70 |  000003A0 | GREEK CAPITAL LETTER PI
+    72 |  000003A1 | GREEK CAPITAL LETTER RHO
+    73 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    74 |  000003A4 | GREEK CAPITAL LETTER TAU
+    75 |  00000398 | GREEK CAPITAL LETTER THETA
+    76 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    77 |  000000B7 | MIDDLE DOT
+    78 |  000003A7 | GREEK CAPITAL LETTER CHI
+    79 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    7A |  00000396 | GREEK CAPITAL LETTER ZETA
+    7B |  00001FDF | GREEK DASIA AND PERISPOMENI
+    7C |  00001FFE | GREEK DASIA
+    7D |  00001FDE | GREEK DASIA AND OXIA
+    7E |  000000A8 | DIAERESIS
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK_CCITT.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK_CCITT.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK_CCITT.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/GREEK_CCITT.pm      12 Oct 
2011 23:51:34 -0000      1.1
@@ -0,0 +1,883 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: GREEK_CCITT.pm,v 1.1 2011/10/12 23:51:34 pertusus Exp $
+
+# Conversion routines for GREEK-CCITT.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::GREEK_CCITT;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x00a4,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x0398,
+    0x0399,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039e,
+    0x039f,
+    0x03a0,
+    0x03a1,
+    0xfffd,
+    0x03a3,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0xfffd,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0xfffd,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c2,
+    0x03c3,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x03c8,
+    0x03c9,
+    0xfffd,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x00af,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\xc2\xa4",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x98",
+    "\xce\x99",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xef\xbf\xbd",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xef\xbf\xbd",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\xef\xbf\xbd",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x82",
+    "\xcf\x83",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\xcf\x89",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\xc2\xaf",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007f => "\x7f",
+    0x000000a4 => "\x24",
+    0x000000af => "\x7e",
+    0x00000391 => "\x41",
+    0x00000392 => "\x42",
+    0x00000393 => "\x43",
+    0x00000394 => "\x44",
+    0x00000395 => "\x45",
+    0x00000396 => "\x46",
+    0x00000397 => "\x47",
+    0x00000398 => "\x48",
+    0x00000399 => "\x49",
+    0x0000039a => "\x4a",
+    0x0000039b => "\x4b",
+    0x0000039c => "\x4c",
+    0x0000039d => "\x4d",
+    0x0000039e => "\x4e",
+    0x0000039f => "\x4f",
+    0x000003a0 => "\x50",
+    0x000003a1 => "\x51",
+    0x000003a3 => "\x53",
+    0x000003a4 => "\x54",
+    0x000003a5 => "\x55",
+    0x000003a6 => "\x56",
+    0x000003a7 => "\x57",
+    0x000003a8 => "\x58",
+    0x000003a9 => "\x59",
+    0x000003b1 => "\x61",
+    0x000003b2 => "\x62",
+    0x000003b3 => "\x63",
+    0x000003b4 => "\x64",
+    0x000003b5 => "\x65",
+    0x000003b6 => "\x66",
+    0x000003b7 => "\x67",
+    0x000003b8 => "\x68",
+    0x000003b9 => "\x69",
+    0x000003ba => "\x6a",
+    0x000003bb => "\x6b",
+    0x000003bc => "\x6c",
+    0x000003bd => "\x6d",
+    0x000003be => "\x6e",
+    0x000003bf => "\x6f",
+    0x000003c0 => "\x70",
+    0x000003c1 => "\x71",
+    0x000003c2 => "\x72",
+    0x000003c3 => "\x73",
+    0x000003c4 => "\x74",
+    0x000003c5 => "\x75",
+    0x000003c6 => "\x76",
+    0x000003c7 => "\x77",
+    0x000003c8 => "\x78",
+    0x000003c9 => "\x79",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::GREEK_CCITT - Conversion routines for GREEK_CCITT
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for GREEK-CCITT.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: ECMA registry
+ alias ISO-IR-150
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  000000A4 | CURRENCY SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    42 |  00000392 | GREEK CAPITAL LETTER BETA
+    43 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    44 |  00000394 | GREEK CAPITAL LETTER DELTA
+    45 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    46 |  00000396 | GREEK CAPITAL LETTER ZETA
+    47 |  00000397 | GREEK CAPITAL LETTER ETA
+    48 |  00000398 | GREEK CAPITAL LETTER THETA
+    49 |  00000399 | GREEK CAPITAL LETTER IOTA
+    4A |  0000039A | GREEK CAPITAL LETTER KAPPA
+    4B |  0000039B | GREEK CAPITAL LETTER LAMDA
+    4C |  0000039C | GREEK CAPITAL LETTER MU
+    4D |  0000039D | GREEK CAPITAL LETTER NU
+    4E |  0000039E | GREEK CAPITAL LETTER XI
+    4F |  0000039F | GREEK CAPITAL LETTER OMICRON
+    50 |  000003A0 | GREEK CAPITAL LETTER PI
+    51 |  000003A1 | GREEK CAPITAL LETTER RHO
+    53 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    54 |  000003A4 | GREEK CAPITAL LETTER TAU
+    55 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    56 |  000003A6 | GREEK CAPITAL LETTER PHI
+    57 |  000003A7 | GREEK CAPITAL LETTER CHI
+    58 |  000003A8 | GREEK CAPITAL LETTER PSI
+    59 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    61 |  000003B1 | GREEK SMALL LETTER ALPHA
+    62 |  000003B2 | GREEK SMALL LETTER BETA
+    63 |  000003B3 | GREEK SMALL LETTER GAMMA
+    64 |  000003B4 | GREEK SMALL LETTER DELTA
+    65 |  000003B5 | GREEK SMALL LETTER EPSILON
+    66 |  000003B6 | GREEK SMALL LETTER ZETA
+    67 |  000003B7 | GREEK SMALL LETTER ETA
+    68 |  000003B8 | GREEK SMALL LETTER THETA
+    69 |  000003B9 | GREEK SMALL LETTER IOTA
+    6A |  000003BA | GREEK SMALL LETTER KAPPA
+    6B |  000003BB | GREEK SMALL LETTER LAMDA
+    6C |  000003BC | GREEK SMALL LETTER MU
+    6D |  000003BD | GREEK SMALL LETTER NU
+    6E |  000003BE | GREEK SMALL LETTER XI
+    6F |  000003BF | GREEK SMALL LETTER OMICRON
+    70 |  000003C0 | GREEK SMALL LETTER PI
+    71 |  000003C1 | GREEK SMALL LETTER RHO
+    72 |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    73 |  000003C3 | GREEK SMALL LETTER SIGMA
+    74 |  000003C4 | GREEK SMALL LETTER TAU
+    75 |  000003C5 | GREEK SMALL LETTER UPSILON
+    76 |  000003C6 | GREEK SMALL LETTER PHI
+    77 |  000003C7 | GREEK SMALL LETTER CHI
+    78 |  000003C8 | GREEK SMALL LETTER PSI
+    79 |  000003C9 | GREEK SMALL LETTER OMEGA
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  000000AF | MACRON
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/HP_ROMAN8.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/HP_ROMAN8.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/HP_ROMAN8.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/HP_ROMAN8.pm        12 Oct 
2011 23:51:34 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: HP_ROMAN8.pm,v 1.1 2011/10/12 23:51:34 pertusus Exp $
+
+# Conversion routines for HP-ROMAN8.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::HP_ROMAN8;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x00c0,
+    0x00c2,
+    0x00c8,
+    0x00ca,
+    0x00cb,
+    0x00ce,
+    0x00cf,
+    0x00b4,
+    0x02cb,
+    0x02c6,
+    0x00a8,
+    0x02dc,
+    0x00d9,
+    0x00db,
+    0x20a4,
+    0x00af,
+    0x00dd,
+    0x00fd,
+    0x00b0,
+    0x00c7,
+    0x00e7,
+    0x00d1,
+    0x00f1,
+    0x00a1,
+    0x00bf,
+    0x00a4,
+    0x00a3,
+    0x00a5,
+    0x00a7,
+    0x0192,
+    0x00a2,
+    0x00e2,
+    0x00ea,
+    0x00f4,
+    0x00fb,
+    0x00e1,
+    0x00e9,
+    0x00f3,
+    0x00fa,
+    0x00e0,
+    0x00e8,
+    0x00f2,
+    0x00f9,
+    0x00e4,
+    0x00eb,
+    0x00f6,
+    0x00fc,
+    0x00c5,
+    0x00ee,
+    0x00d8,
+    0x00c6,
+    0x00e5,
+    0x00ed,
+    0x00f8,
+    0x00e6,
+    0x00c4,
+    0x00ec,
+    0x00d6,
+    0x00dc,
+    0x00c9,
+    0x00ef,
+    0x00df,
+    0x00d4,
+    0x00c1,
+    0x00c3,
+    0x00e3,
+    0x00d0,
+    0x00f0,
+    0x00cd,
+    0x00cc,
+    0x00d3,
+    0x00d2,
+    0x00d5,
+    0x00f5,
+    0x0160,
+    0x0161,
+    0x00da,
+    0x0178,
+    0x00ff,
+    0x00de,
+    0x00fe,
+    0x00b7,
+    0x00b5,
+    0x00b6,
+    0x00be,
+    0x2014,
+    0x00bc,
+    0x00bd,
+    0x00aa,
+    0x00ba,
+    0x00ab,
+    0x25a0,
+    0x00bb,
+    0x00b1,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x82",
+    "\xc3\x88",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc2\xb4",
+    "\xcb\x8b",
+    "\xcb\x86",
+    "\xc2\xa8",
+    "\xcb\x9c",
+    "\xc3\x99",
+    "\xc3\x9b",
+    "\xe2\x82\xa4",
+    "\xc2\xaf",
+    "\xc3\x9d",
+    "\xc3\xbd",
+    "\xc2\xb0",
+    "\xc3\x87",
+    "\xc3\xa7",
+    "\xc3\x91",
+    "\xc3\xb1",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc2\xa4",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xa7",
+    "\xc6\x92",
+    "\xc2\xa2",
+    "\xc3\xa2",
+    "\xc3\xaa",
+    "\xc3\xb4",
+    "\xc3\xbb",
+    "\xc3\xa1",
+    "\xc3\xa9",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xa0",
+    "\xc3\xa8",
+    "\xc3\xb2",
+    "\xc3\xb9",
+    "\xc3\xa4",
+    "\xc3\xab",
+    "\xc3\xb6",
+    "\xc3\xbc",
+    "\xc3\x85",
+    "\xc3\xae",
+    "\xc3\x98",
+    "\xc3\x86",
+    "\xc3\xa5",
+    "\xc3\xad",
+    "\xc3\xb8",
+    "\xc3\xa6",
+    "\xc3\x84",
+    "\xc3\xac",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\x89",
+    "\xc3\xaf",
+    "\xc3\x9f",
+    "\xc3\x94",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\xa3",
+    "\xc3\x90",
+    "\xc3\xb0",
+    "\xc3\x8d",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x92",
+    "\xc3\x95",
+    "\xc3\xb5",
+    "\xc5\xa0",
+    "\xc5\xa1",
+    "\xc3\x9a",
+    "\xc5\xb8",
+    "\xc3\xbf",
+    "\xc3\x9e",
+    "\xc3\xbe",
+    "\xc2\xb7",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xbe",
+    "\xe2\x80\x94",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xab",
+    "\xe2\x96\xa0",
+    "\xc2\xbb",
+    "\xc2\xb1",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xb8",
+    0x000000a2 => "\xbf",
+    0x000000a3 => "\xbb",
+    0x000000a4 => "\xba",
+    0x000000a5 => "\xbc",
+    0x000000a7 => "\xbd",
+    0x000000a8 => "\xab",
+    0x000000aa => "\xf9",
+    0x000000ab => "\xfb",
+    0x000000af => "\xb0",
+    0x000000b0 => "\xb3",
+    0x000000b1 => "\xfe",
+    0x000000b4 => "\xa8",
+    0x000000b5 => "\xf3",
+    0x000000b6 => "\xf4",
+    0x000000b7 => "\xf2",
+    0x000000ba => "\xfa",
+    0x000000bb => "\xfd",
+    0x000000bc => "\xf7",
+    0x000000bd => "\xf8",
+    0x000000be => "\xf5",
+    0x000000bf => "\xb9",
+    0x000000c0 => "\xa1",
+    0x000000c1 => "\xe0",
+    0x000000c2 => "\xa2",
+    0x000000c3 => "\xe1",
+    0x000000c4 => "\xd8",
+    0x000000c5 => "\xd0",
+    0x000000c6 => "\xd3",
+    0x000000c7 => "\xb4",
+    0x000000c8 => "\xa3",
+    0x000000c9 => "\xdc",
+    0x000000ca => "\xa4",
+    0x000000cb => "\xa5",
+    0x000000cc => "\xe6",
+    0x000000cd => "\xe5",
+    0x000000ce => "\xa6",
+    0x000000cf => "\xa7",
+    0x000000d0 => "\xe3",
+    0x000000d1 => "\xb6",
+    0x000000d2 => "\xe8",
+    0x000000d3 => "\xe7",
+    0x000000d4 => "\xdf",
+    0x000000d5 => "\xe9",
+    0x000000d6 => "\xda",
+    0x000000d8 => "\xd2",
+    0x000000d9 => "\xad",
+    0x000000da => "\xed",
+    0x000000db => "\xae",
+    0x000000dc => "\xdb",
+    0x000000dd => "\xb1",
+    0x000000de => "\xf0",
+    0x000000df => "\xde",
+    0x000000e0 => "\xc8",
+    0x000000e1 => "\xc4",
+    0x000000e2 => "\xc0",
+    0x000000e3 => "\xe2",
+    0x000000e4 => "\xcc",
+    0x000000e5 => "\xd4",
+    0x000000e6 => "\xd7",
+    0x000000e7 => "\xb5",
+    0x000000e8 => "\xc9",
+    0x000000e9 => "\xc5",
+    0x000000ea => "\xc1",
+    0x000000eb => "\xcd",
+    0x000000ec => "\xd9",
+    0x000000ed => "\xd5",
+    0x000000ee => "\xd1",
+    0x000000ef => "\xdd",
+    0x000000f0 => "\xe4",
+    0x000000f1 => "\xb7",
+    0x000000f2 => "\xca",
+    0x000000f3 => "\xc6",
+    0x000000f4 => "\xc2",
+    0x000000f5 => "\xea",
+    0x000000f6 => "\xce",
+    0x000000f8 => "\xd6",
+    0x000000f9 => "\xcb",
+    0x000000fa => "\xc7",
+    0x000000fb => "\xc3",
+    0x000000fc => "\xcf",
+    0x000000fd => "\xb2",
+    0x000000fe => "\xf1",
+    0x000000ff => "\xef",
+    0x00000160 => "\xeb",
+    0x00000161 => "\xec",
+    0x00000178 => "\xee",
+    0x00000192 => "\xbe",
+    0x000002c6 => "\xaa",
+    0x000002cb => "\xa9",
+    0x000002dc => "\xac",
+    0x00002014 => "\xf6",
+    0x000020a4 => "\xaf",
+    0x000025a0 => "\xfc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::HP_ROMAN8 - Conversion routines for HP_ROMAN8
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for HP-ROMAN8.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: LaserJet IIP Printer User's Manual,
+  HP part no 33471-90901, Hewlet-Packard, June 1989.
+ alias ROMAN8
+ alias R8
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    A2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    A3 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    A4 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    A5 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    A6 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    A7 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    A8 |  000000B4 | ACUTE ACCENT
+    A9 |  000002CB | MODIFIER LETTER GRAVE ACCENT (Mandarin Chinese fourth 
tone)
+    AA |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    AB |  000000A8 | DIAERESIS
+    AC |  000002DC | SMALL TILDE
+    AD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    AE |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    AF |  000020A4 | LIRA SIGN
+    B0 |  000000AF | MACRON
+    B1 |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    B2 |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    B3 |  000000B0 | DEGREE SIGN
+    B4 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    B5 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    B6 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    B7 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    B8 |  000000A1 | INVERTED EXCLAMATION MARK
+    B9 |  000000BF | INVERTED QUESTION MARK
+    BA |  000000A4 | CURRENCY SIGN
+    BB |  000000A3 | POUND SIGN
+    BC |  000000A5 | YEN SIGN
+    BD |  000000A7 | SECTION SIGN
+    BE |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    BF |  000000A2 | CENT SIGN
+    C0 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    C1 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    C2 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    C3 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    C4 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    C5 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    C6 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    C7 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    C8 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    C9 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    CA |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CB |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    CC |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    CD |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    CE |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CF |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    D0 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    D1 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    D2 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D3 |  000000C6 | LATIN CAPITAL LETTER AE
+    D4 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    D5 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    D6 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    D7 |  000000E6 | LATIN SMALL LETTER AE
+    D8 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    D9 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    DA |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    DB |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DC |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    DD |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    DE |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    DF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    E0 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E1 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    E2 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E3 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    E4 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    E5 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    E6 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    E7 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    E8 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    E9 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    EA |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    EB |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    EC |  00000161 | LATIN SMALL LETTER S WITH CARON
+    ED |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    EE |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    EF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    F0 |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    F1 |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    F2 |  000000B7 | MIDDLE DOT
+    F3 |  000000B5 | MICRO SIGN
+    F4 |  000000B6 | PILCROW SIGN
+    F5 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    F6 |  00002014 | EM DASH
+    F7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    F8 |  000000BD | VULGAR FRACTION ONE HALF
+    F9 |  000000AA | FEMININE ORDINAL INDICATOR
+    FA |  000000BA | MASCULINE ORDINAL INDICATOR
+    FB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    FC |  000025A0 | BLACK SQUARE
+    FD |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    FE |  000000B1 | PLUS-MINUS SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM037.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM037.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM037.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM037.pm   12 Oct 2011 
23:51:35 -0000      1.1
@@ -0,0 +1,1150 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM037.pm,v 1.1 2011/10/12 23:51:35 pertusus Exp $
+
+# Conversion routines for IBM037.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM037;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00f1,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x0021,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x005e,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x005b,
+    0x005d,
+    0x00af,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\x21",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\x5e",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\x5b",
+    "\x5d",
+    "\xc2\xaf",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\xba",
+    0x0000005c => "\xe0",
+    0x0000005d => "\xbb",
+    0x0000005e => "\xb0",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\x4a",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x6a",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\x5f",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000af => "\xbc",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM037 - Conversion routines for IBM037
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM037.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP037
+ alias EBCDIC-CP-US
+ alias EBCDIC-CP-CA
+ alias EBCDIC-CP-WT
+ alias EBCDIC-CP-NL
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  0000005E | CIRCUMFLEX ACCENT
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  0000005B | LEFT SQUARE BRACKET
+    BB |  0000005D | RIGHT SQUARE BRACKET
+    BC |  000000AF | MACRON
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM038.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM038.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM038.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM038.pm   12 Oct 2011 
23:51:35 -0000      1.1
@@ -0,0 +1,955 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM038.pm,v 1.1 2011/10/12 23:51:35 pertusus Exp $
+
+# Conversion routines for IBM038.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM038;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a6 => "\x6a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM038 - Conversion routines for IBM038
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM038.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ alias EBCDIC-INT
+ alias CP038
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1004.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1004.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1004.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1004.pm  12 Oct 2011 
23:51:35 -0000      1.1
@@ -0,0 +1,1129 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM1004.pm,v 1.1 2011/10/12 23:51:35 pertusus Exp $
+
+# Conversion routines for IBM1004.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM1004;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0x201a,
+    0xfffd,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0x02c6,
+    0x2030,
+    0x0160,
+    0x2039,
+    0x0152,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0x02dc,
+    0x2122,
+    0x0161,
+    0x203a,
+    0x0153,
+    0xfffd,
+    0xfffd,
+    0x0178,
+    0x00a0,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00bf,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00d0,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x00dd,
+    0x00de,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x00fe,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9a",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xcb\x86",
+    "\xe2\x80\xb0",
+    "\xc5\xa0",
+    "\xe2\x80\xb9",
+    "\xc5\x92",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xcb\x9c",
+    "\xe2\x84\xa2",
+    "\xc5\xa1",
+    "\xe2\x80\xba",
+    "\xc5\x93",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc5\xb8",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xbf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x90",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000bf => "\xbf",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d0 => "\xd0",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000de => "\xde",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f0 => "\xf0",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000fe => "\xfe",
+    0x000000ff => "\xff",
+    0x00000152 => "\x8c",
+    0x00000153 => "\x9c",
+    0x00000160 => "\x8a",
+    0x00000161 => "\x9a",
+    0x00000178 => "\x9f",
+    0x000002c6 => "\x88",
+    0x000002dc => "\x98",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM1004 - Conversion routines for IBM1004
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM1004.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: CEN/TC304 N283, 1994-02-04
+ alias CP1004
+ alias OS2LATIN1
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    88 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    89 |  00002030 | PER MILLE SIGN
+    8A |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  00000152 | LATIN CAPITAL LIGATURE OE
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    98 |  000002DC | SMALL TILDE
+    99 |  00002122 | TRADE MARK SIGN
+    9A |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  00000153 | LATIN SMALL LIGATURE OE
+    9F |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1026.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1026.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1026.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1026.pm  12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM1026.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM1026.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM1026;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x007b,
+    0x00f1,
+    0x00c7,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x011e,
+    0x0130,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x005b,
+    0x00d1,
+    0x015f,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0131,
+    0x003a,
+    0x00d6,
+    0x015e,
+    0x0027,
+    0x003d,
+    0x00dc,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x007d,
+    0x0060,
+    0x00a6,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x02db,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x00f6,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x005d,
+    0x0024,
+    0x0040,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x2014,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x00e7,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x007e,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x011f,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x005c,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x00fc,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x0023,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x0022,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\x7b",
+    "\xc3\xb1",
+    "\xc3\x87",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\xc4\x9e",
+    "\xc4\xb0",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\x5b",
+    "\xc3\x91",
+    "\xc5\x9f",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc4\xb1",
+    "\x3a",
+    "\xc3\x96",
+    "\xc5\x9e",
+    "\x27",
+    "\x3d",
+    "\xc3\x9c",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\x7d",
+    "\x60",
+    "\xc2\xa6",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xcb\x9b",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\xc3\xb6",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\x5d",
+    "\x24",
+    "\x40",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xe2\x80\x94",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\xc3\xa7",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\x7e",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\xc4\x9f",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\x5c",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\xc3\xbc",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\x23",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\x22",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\xfc",
+    0x00000023 => "\xec",
+    0x00000024 => "\xad",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\xae",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x68",
+    0x0000005c => "\xdc",
+    0x0000005d => "\xac",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x8d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x48",
+    0x0000007c => "\xbb",
+    0x0000007d => "\x8c",
+    0x0000007e => "\xcc",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x8e",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x4a",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\x7b",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\x7f",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\xc0",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xa1",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xe0",
+    0x000000ff => "\xdf",
+    0x0000011e => "\x5a",
+    0x0000011f => "\xd0",
+    0x00000130 => "\x5b",
+    0x00000131 => "\x79",
+    0x0000015e => "\x7c",
+    0x0000015f => "\x6a",
+    0x000002db => "\x9d",
+    0x00002014 => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM1026 - Conversion routines for IBM1026
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM1026.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP1026
+ alias 1026
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  0000007B | LEFT CURLY BRACKET
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  0000011E | LATIN CAPITAL LETTER G WITH BREVE
+    5B |  00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  0000005B | LEFT SQUARE BRACKET
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    7A |  0000003A | COLON
+    7B |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    7C |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  0000007D | RIGHT CURLY BRACKET
+    8D |  00000060 | GRAVE ACCENT
+    8E |  000000A6 | BROKEN BAR
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000002DB | OGONEK
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  0000005D | RIGHT SQUARE BRACKET
+    AD |  00000024 | DOLLAR SIGN
+    AE |  00000040 | COMMERCIAL AT
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  00002014 | EM DASH
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  0000007E | TILDE
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  0000011F | LATIN SMALL LETTER G WITH BREVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  0000005C | REVERSE SOLIDUS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  00000023 | NUMBER SIGN
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  00000022 | QUOTATION MARK
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1047.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1047.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1047.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM1047.pm  12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,1148 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM1047.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM1047.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM1047;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00f1,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x0021,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x005b,
+    0x00de,
+    0x00ae,
+    0x00ac,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00dd,
+    0x00a8,
+    0x00af,
+    0x005d,
+    0x00b4,
+    0x00d7,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\x21",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\x5b",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xac",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc3\x9d",
+    "\xc2\xa8",
+    "\xc2\xaf",
+    "\x5d",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\xad",
+    0x0000005c => "\xe0",
+    0x0000005d => "\xbd",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\x4a",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x6a",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbb",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xb0",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000af => "\xbc",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xba",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM1047 - Conversion routines for IBM1047
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM1047.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM Character Data Representation Architecture
+  Registry SC09-1391-00 p 150.
+ alias CP1047
+ alias 1047
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  0000005B | LEFT SQUARE BRACKET
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000AC | NOT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    BB |  000000A8 | DIAERESIS
+    BC |  000000AF | MACRON
+    BD |  0000005D | RIGHT SQUARE BRACKET
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM256.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM256.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM256.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM256.pm   12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM256.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM256.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM256;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00f1,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x20a7,
+    0x0192,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x203e,
+    0x00a8,
+    0x00b4,
+    0x2017,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x2003,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xe2\x82\xa7",
+    "\xc6\x92",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xe2\x80\xbe",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xe2\x80\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xe2\x80\x83",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\xbb",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x6a",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x00000192 => "\xb4",
+    0x00002003 => "\xe1",
+    0x00002017 => "\xbf",
+    0x0000203e => "\xbc",
+    0x000020a7 => "\xb3",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM256 - Conversion routines for IBM256
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM256.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM Registry C-H 3-3220-050
+ alias EBCDIC-INT1
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000020A7 | PESETA SIGN
+    B4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  0000203E | OVERLINE
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  00002017 | DOUBLE LOW LINE
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  00002003 | EM SPACE
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM273.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM273.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM273.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM273.pm   12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM273.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM273.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM273;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x007b,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00f1,
+    0x00c4,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x007e,
+    0x00dc,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x005b,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00f6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x00a7,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x00df,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x0040,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x203e,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x00e4,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00a6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x00fc,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x007d,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x00d6,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x005c,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x005d,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\x7b",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\xc3\x84",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\x7e",
+    "\xc3\x9c",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\x5b",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc3\xb6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\xc2\xa7",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\xc3\x9f",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\x40",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xe2\x80\xbe",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\xc3\xa4",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc2\xa6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\xc3\xbc",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\x7d",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\xc3\x96",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\x5c",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\x5d",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\xb5",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x63",
+    0x0000005c => "\xec",
+    0x0000005d => "\xfc",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x43",
+    0x0000007c => "\xbb",
+    0x0000007d => "\xdc",
+    0x0000007e => "\x59",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\xcc",
+    0x000000a7 => "\x7c",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x4a",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xe0",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\x5a",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\xa1",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\xc0",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\x6a",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xd0",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x0000203e => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM273 - Conversion routines for IBM273
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM273.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP273
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  0000007B | LEFT CURLY BRACKET
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  0000007E | TILDE
+    5A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  0000005B | LEFT SQUARE BRACKET
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  000000A7 | SECTION SIGN
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  00000040 | COMMERCIAL AT
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  0000203E | OVERLINE
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000A6 | BROKEN BAR
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  0000007D | RIGHT CURLY BRACKET
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  0000005C | REVERSE SOLIDUS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  0000005D | RIGHT SQUARE BRACKET
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM274.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM274.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM274.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM274.pm   12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,955 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM274.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM274.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM274;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f9,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x00e0,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e9,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e8,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e7,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb9",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\xc3\xa0",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa9",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa8",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa7",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a8 => "\xa1",
+    0x000000e0 => "\x7c",
+    0x000000e7 => "\xe0",
+    0x000000e8 => "\xd0",
+    0x000000e9 => "\xc0",
+    0x000000f9 => "\x6a",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM274 - Conversion routines for IBM274
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM274.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ alias EBCDIC-BE
+ alias CP274
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM275.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM275.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM275.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM275.pm   12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,955 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM275.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM275.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM275;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00c9,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0024,
+    0x00c7,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e7,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e3,
+    0x003a,
+    0x00d5,
+    0x00c3,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00f5,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00e9,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\x89",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x24",
+    "\xc3\x87",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa7",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa3",
+    "\x3a",
+    "\xc3\x95",
+    "\xc3\x83",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xb5",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc3\xa9",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000024 => "\x5a",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005c => "\xe0",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000c3 => "\x7c",
+    0x000000c7 => "\x5b",
+    0x000000c9 => "\x4a",
+    0x000000d5 => "\x7b",
+    0x000000e3 => "\x79",
+    0x000000e7 => "\x6a",
+    0x000000e9 => "\xd0",
+    0x000000f5 => "\xc0",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM275 - Conversion routines for IBM275
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM275.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias EBCDIC-BR
+ alias CP275
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    5A |  00000024 | DOLLAR SIGN
+    5B |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    7A |  0000003A | COLON
+    7B |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    7C |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM277.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM277.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM277.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM277.pm   12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM277.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM277.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM277;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x007d,
+    0x00e7,
+    0x00f1,
+    0x0023,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x00a4,
+    0x00c5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x0024,
+    0x00c7,
+    0x00d1,
+    0x00f8,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00a6,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x00c6,
+    0x00d8,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x0040,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x007b,
+    0x00b8,
+    0x005b,
+    0x005d,
+    0x00b5,
+    0x00fc,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x203e,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x00e6,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x00e5,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x007e,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\x7d",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\x23",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\xc2\xa4",
+    "\xc3\x85",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\x24",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc3\xb8",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc2\xa6",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\x40",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\x7b",
+    "\xc2\xb8",
+    "\x5b",
+    "\x5d",
+    "\xc2\xb5",
+    "\xc3\xbc",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xe2\x80\xbe",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\xc3\xa6",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\xc3\xa5",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\x7e",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x4a",
+    0x00000024 => "\x67",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x80",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x9e",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x9f",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x9c",
+    0x0000007c => "\xbb",
+    0x0000007d => "\x47",
+    0x0000007e => "\xdc",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x5a",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x70",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x5b",
+    0x000000c6 => "\x7b",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x7c",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\xd0",
+    0x000000e6 => "\xc0",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x6a",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xa1",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x0000203e => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM277 - Conversion routines for IBM277
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM277.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias EBCDIC-CP-DK
+ alias EBCDIC-CP-NO
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  0000007D | RIGHT CURLY BRACKET
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  00000023 | NUMBER SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  000000A4 | CURRENCY SIGN
+    5B |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  00000024 | DOLLAR SIGN
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000A6 | BROKEN BAR
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000C6 | LATIN CAPITAL LETTER AE
+    7C |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  00000040 | COMMERCIAL AT
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  0000007B | LEFT CURLY BRACKET
+    9D |  000000B8 | CEDILLA
+    9E |  0000005B | LEFT SQUARE BRACKET
+    9F |  0000005D | RIGHT SQUARE BRACKET
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  0000203E | OVERLINE
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000E6 | LATIN SMALL LETTER AE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  0000007E | TILDE
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM278.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM278.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM278.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM278.pm   12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,1148 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM278.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM278.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM278;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x007b,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x007d,
+    0x00e7,
+    0x00f1,
+    0x00a7,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x0060,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x00a4,
+    0x00c5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x0023,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x0024,
+    0x00c7,
+    0x00d1,
+    0x00f6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00e9,
+    0x003a,
+    0x00c4,
+    0x00d6,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x005d,
+    0x00b5,
+    0x00fc,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x005b,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x203e,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x00e4,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00a6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x00e5,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x007e,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x0040,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\x7b",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\x7d",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\xc2\xa7",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\x60",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\xc2\xa4",
+    "\xc3\x85",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\x23",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\x24",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc3\xb6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\xa9",
+    "\x3a",
+    "\xc3\x84",
+    "\xc3\x96",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\x5d",
+    "\xc2\xb5",
+    "\xc3\xbc",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\x5b",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xe2\x80\xbe",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\xc3\xa4",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc2\xa6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\xc3\xa5",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\x7e",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\x40",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x63",
+    0x00000024 => "\x67",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\xec",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\xb5",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x9f",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x51",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x43",
+    0x0000007c => "\xbb",
+    0x0000007d => "\x47",
+    0x0000007e => "\xdc",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x5a",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\xcc",
+    0x000000a7 => "\x4a",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x7b",
+    0x000000c5 => "\x5b",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\x7c",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\xc0",
+    0x000000e5 => "\xd0",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x79",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\x6a",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xa1",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x0000203e => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM278 - Conversion routines for IBM278
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM278.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP278
+ alias EBCDIC-CP-FI
+ alias EBCDIC-CP-SE
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  0000007B | LEFT CURLY BRACKET
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  0000007D | RIGHT CURLY BRACKET
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000A7 | SECTION SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  00000060 | GRAVE ACCENT
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  000000A4 | CURRENCY SIGN
+    5B |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  00000023 | NUMBER SIGN
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  00000024 | DOLLAR SIGN
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    7A |  0000003A | COLON
+    7B |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    7C |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  0000005D | RIGHT SQUARE BRACKET
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  0000005B | LEFT SQUARE BRACKET
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  0000203E | OVERLINE
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000A6 | BROKEN BAR
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  0000007E | TILDE
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  00000040 | COMMERCIAL AT
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM280.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM280.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM280.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM280.pm   12 Oct 2011 
23:51:36 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM280.pm,v 1.1 2011/10/12 23:51:36 pertusus Exp $
+
+# Conversion routines for IBM280.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM280;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x007b,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x005c,
+    0x00f1,
+    0x00b0,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x005d,
+    0x00ea,
+    0x00eb,
+    0x007d,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x007e,
+    0x00df,
+    0x00e9,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00f2,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00f9,
+    0x003a,
+    0x00a3,
+    0x00a7,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x005b,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x00ec,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x0023,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x0040,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x203e,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x00e0,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00a6,
+    0x00f3,
+    0x00f5,
+    0x00e8,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x0060,
+    0x00fa,
+    0x00ff,
+    0x00e7,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\x7b",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\x5c",
+    "\xc3\xb1",
+    "\xc2\xb0",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\x5d",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\x7d",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\x7e",
+    "\xc3\x9f",
+    "\xc3\xa9",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc3\xb2",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\xb9",
+    "\x3a",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\x5b",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\xc3\xac",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\x23",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\x40",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xe2\x80\xbe",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\xc3\xa0",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc2\xa6",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\xc3\xa8",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\x60",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\xc3\xa7",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\xb1",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\xb5",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x90",
+    0x0000005c => "\x48",
+    0x0000005d => "\x51",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\xdd",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x44",
+    0x0000007c => "\xbb",
+    0x0000007d => "\x54",
+    0x0000007e => "\x58",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\x7b",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\xcd",
+    0x000000a7 => "\x7c",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x4a",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\xc0",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\xe0",
+    0x000000e8 => "\xd0",
+    0x000000e9 => "\x5a",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\xa1",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\x6a",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\x79",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x0000203e => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM280 - Conversion routines for IBM280
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM280.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP280
+ alias EBCDIC-CP-IT
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  0000007B | LEFT CURLY BRACKET
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  0000005C | REVERSE SOLIDUS
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000B0 | DEGREE SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  0000005D | RIGHT SQUARE BRACKET
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  0000007D | RIGHT CURLY BRACKET
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  0000007E | TILDE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    7A |  0000003A | COLON
+    7B |  000000A3 | POUND SIGN
+    7C |  000000A7 | SECTION SIGN
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  0000005B | LEFT SQUARE BRACKET
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  00000023 | NUMBER SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  00000040 | COMMERCIAL AT
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  0000203E | OVERLINE
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000A6 | BROKEN BAR
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  00000060 | GRAVE ACCENT
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM281.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM281.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM281.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM281.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,955 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM281.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM281.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM281;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a3,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0021,
+    0x00a5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x203e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0024,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa3",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x21",
+    "\xc2\xa5",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xbe",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x24",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\xe0",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\x4a",
+    0x000000a5 => "\x5b",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+    0x0000203e => "\xa1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM281 - Conversion routines for IBM281
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM281.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ alias EBCDIC-JP-E
+ alias CP281
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    4A |  000000A3 | POUND SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  000000A5 | YEN SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    A1 |  0000203E | OVERLINE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  00000024 | DOLLAR SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM284.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM284.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM284.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM284.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM284.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM284.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM284;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00a6,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x0023,
+    0x00f1,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x00d1,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x005e,
+    0x0021,
+    0x203e,
+    0x007e,
+    0x00b4,
+    0x00d7,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc2\xa6",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\x23",
+    "\xc3\xb1",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\xc3\x91",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\x5e",
+    "\x21",
+    "\xe2\x80\xbe",
+    "\x7e",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\xbb",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x69",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\xba",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xbd",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x49",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xa1",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\x5f",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x7b",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x6a",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x0000203e => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM284 - Conversion routines for IBM284
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM284.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP284
+ alias EBCDIC-CP-ES
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000A6 | BROKEN BAR
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  00000023 | NUMBER SIGN
+    6A |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  0000005E | CIRCUMFLEX ACCENT
+    BB |  00000021 | EXCLAMATION MARK
+    BC |  0000203E | OVERLINE
+    BD |  0000007E | TILDE
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM285.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM285.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM285.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM285.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM285.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM285.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM285;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00f1,
+    0x0024,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x0021,
+    0x00a3,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x203e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x005b,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x005e,
+    0x005d,
+    0x007e,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\x24",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\x21",
+    "\xc2\xa3",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\xe2\x80\xbe",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\x5b",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\x5e",
+    "\x5d",
+    "\x7e",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x4a",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\xb1",
+    0x0000005c => "\xe0",
+    0x0000005d => "\xbb",
+    0x0000005e => "\xba",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xbc",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\x5b",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x6a",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\x5f",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x0000203e => "\xa1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM285 - Conversion routines for IBM285
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM285.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP285
+ alias EBCDIC-CP-GB
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  00000024 | DOLLAR SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  000000A3 | POUND SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  0000203E | OVERLINE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  0000005B | LEFT SQUARE BRACKET
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  0000005E | CIRCUMFLEX ACCENT
+    BB |  0000005D | RIGHT SQUARE BRACKET
+    BC |  0000007E | TILDE
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM290.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM290.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM290.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM290.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,1025 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM290.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM290.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM290;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x3002,
+    0x300c,
+    0x300d,
+    0x3001,
+    0x30fb,
+    0x30f2,
+    0x30a1,
+    0x30a3,
+    0x30a5,
+    0x00a3,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0x30a7,
+    0x30a9,
+    0x30e3,
+    0x30e5,
+    0x30e7,
+    0x30c3,
+    0xfffd,
+    0x30fc,
+    0xfffd,
+    0x0021,
+    0x00a5,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x30a2,
+    0x30a4,
+    0x30a6,
+    0x30a8,
+    0x30aa,
+    0x30ab,
+    0x30ad,
+    0x30af,
+    0x30b1,
+    0x30b3,
+    0xfffd,
+    0x30b5,
+    0x30b7,
+    0x30b9,
+    0x30bb,
+    0x30bd,
+    0x30bf,
+    0x30c1,
+    0x30c4,
+    0x30c6,
+    0x30c8,
+    0x30ca,
+    0x30cb,
+    0x30cc,
+    0x30cd,
+    0x30ce,
+    0xfffd,
+    0xfffd,
+    0x30cf,
+    0x30d2,
+    0x30d5,
+    0xfffd,
+    0x203e,
+    0x30d8,
+    0x30db,
+    0x30de,
+    0x30df,
+    0x30e0,
+    0x30e1,
+    0x30e2,
+    0x30e4,
+    0x30e6,
+    0xfffd,
+    0x30e8,
+    0x30e9,
+    0x30ea,
+    0x30eb,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x30ec,
+    0x30ed,
+    0x30ef,
+    0x30f3,
+    0x309b,
+    0x309c,
+    0xfffd,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0024,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xe3\x80\x82",
+    "\xe3\x80\x8c",
+    "\xe3\x80\x8d",
+    "\xe3\x80\x81",
+    "\xe3\x83\xbb",
+    "\xe3\x83\xb2",
+    "\xe3\x82\xa1",
+    "\xe3\x82\xa3",
+    "\xe3\x82\xa5",
+    "\xc2\xa3",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xe3\x82\xa7",
+    "\xe3\x82\xa9",
+    "\xe3\x83\xa3",
+    "\xe3\x83\xa5",
+    "\xe3\x83\xa7",
+    "\xe3\x83\x83",
+    "\xef\xbf\xbd",
+    "\xe3\x83\xbc",
+    "\xef\xbf\xbd",
+    "\x21",
+    "\xc2\xa5",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\xe3\x82\xa2",
+    "\xe3\x82\xa4",
+    "\xe3\x82\xa6",
+    "\xe3\x82\xa8",
+    "\xe3\x82\xaa",
+    "\xe3\x82\xab",
+    "\xe3\x82\xad",
+    "\xe3\x82\xaf",
+    "\xe3\x82\xb1",
+    "\xe3\x82\xb3",
+    "\xef\xbf\xbd",
+    "\xe3\x82\xb5",
+    "\xe3\x82\xb7",
+    "\xe3\x82\xb9",
+    "\xe3\x82\xbb",
+    "\xe3\x82\xbd",
+    "\xe3\x82\xbf",
+    "\xe3\x83\x81",
+    "\xe3\x83\x84",
+    "\xe3\x83\x86",
+    "\xe3\x83\x88",
+    "\xe3\x83\x8a",
+    "\xe3\x83\x8b",
+    "\xe3\x83\x8c",
+    "\xe3\x83\x8d",
+    "\xe3\x83\x8e",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe3\x83\x8f",
+    "\xe3\x83\x92",
+    "\xe3\x83\x95",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xbe",
+    "\xe3\x83\x98",
+    "\xe3\x83\x9b",
+    "\xe3\x83\x9e",
+    "\xe3\x83\x9f",
+    "\xe3\x83\xa0",
+    "\xe3\x83\xa1",
+    "\xe3\x83\xa2",
+    "\xe3\x83\xa4",
+    "\xe3\x83\xa6",
+    "\xef\xbf\xbd",
+    "\xe3\x83\xa8",
+    "\xe3\x83\xa9",
+    "\xe3\x83\xaa",
+    "\xe3\x83\xab",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe3\x83\xac",
+    "\xe3\x83\xad",
+    "\xe3\x83\xaf",
+    "\xe3\x83\xb3",
+    "\xe3\x82\x9b",
+    "\xe3\x82\x9c",
+    "\xef\xbf\xbd",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x24",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\xe0",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x0000007c => "\x4f",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\x4a",
+    0x000000a5 => "\x5b",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+    0x0000203e => "\xa1",
+    0x00003001 => "\x44",
+    0x00003002 => "\x41",
+    0x0000300c => "\x42",
+    0x0000300d => "\x43",
+    0x0000309b => "\xbe",
+    0x0000309c => "\xbf",
+    0x000030a1 => "\x47",
+    0x000030a2 => "\x81",
+    0x000030a3 => "\x48",
+    0x000030a4 => "\x82",
+    0x000030a5 => "\x49",
+    0x000030a6 => "\x83",
+    0x000030a7 => "\x51",
+    0x000030a8 => "\x84",
+    0x000030a9 => "\x52",
+    0x000030aa => "\x85",
+    0x000030ab => "\x86",
+    0x000030ad => "\x87",
+    0x000030af => "\x88",
+    0x000030b1 => "\x89",
+    0x000030b3 => "\x8a",
+    0x000030b5 => "\x8c",
+    0x000030b7 => "\x8d",
+    0x000030b9 => "\x8e",
+    0x000030bb => "\x8f",
+    0x000030bd => "\x90",
+    0x000030bf => "\x91",
+    0x000030c1 => "\x92",
+    0x000030c3 => "\x56",
+    0x000030c4 => "\x93",
+    0x000030c6 => "\x94",
+    0x000030c8 => "\x95",
+    0x000030ca => "\x96",
+    0x000030cb => "\x97",
+    0x000030cc => "\x98",
+    0x000030cd => "\x99",
+    0x000030ce => "\x9a",
+    0x000030cf => "\x9d",
+    0x000030d2 => "\x9e",
+    0x000030d5 => "\x9f",
+    0x000030d8 => "\xa2",
+    0x000030db => "\xa3",
+    0x000030de => "\xa4",
+    0x000030df => "\xa5",
+    0x000030e0 => "\xa6",
+    0x000030e1 => "\xa7",
+    0x000030e2 => "\xa8",
+    0x000030e3 => "\x53",
+    0x000030e4 => "\xa9",
+    0x000030e5 => "\x54",
+    0x000030e6 => "\xaa",
+    0x000030e7 => "\x55",
+    0x000030e8 => "\xac",
+    0x000030e9 => "\xad",
+    0x000030ea => "\xae",
+    0x000030eb => "\xaf",
+    0x000030ec => "\xba",
+    0x000030ed => "\xbb",
+    0x000030ef => "\xbc",
+    0x000030f2 => "\x46",
+    0x000030f3 => "\xbd",
+    0x000030fb => "\x45",
+    0x000030fc => "\x58",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM290 - Conversion routines for IBM290
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM290.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ alias CP290
+ alias EBCDIC-JP-KANA
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  00003002 | IDEOGRAPHIC FULL STOP
+    42 |  0000300C | LEFT CORNER BRACKET
+    43 |  0000300D | RIGHT CORNER BRACKET
+    44 |  00003001 | IDEOGRAPHIC COMMA
+    45 |  000030FB | KATAKANA MIDDLE DOT
+    46 |  000030F2 | KATAKANA LETTER WO
+    47 |  000030A1 | KATAKANA LETTER SMALL A
+    48 |  000030A3 | KATAKANA LETTER SMALL I
+    49 |  000030A5 | KATAKANA LETTER SMALL U
+    4A |  000000A3 | POUND SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    51 |  000030A7 | KATAKANA LETTER SMALL E
+    52 |  000030A9 | KATAKANA LETTER SMALL O
+    53 |  000030E3 | KATAKANA LETTER SMALL YA
+    54 |  000030E5 | KATAKANA LETTER SMALL YU
+    55 |  000030E7 | KATAKANA LETTER SMALL YO
+    56 |  000030C3 | KATAKANA LETTER SMALL TU
+    58 |  000030FC | KATAKANA-HIRAGANA PROLONGED SOUND MARK
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  000000A5 | YEN SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  000030A2 | KATAKANA LETTER A
+    82 |  000030A4 | KATAKANA LETTER I
+    83 |  000030A6 | KATAKANA LETTER U
+    84 |  000030A8 | KATAKANA LETTER E
+    85 |  000030AA | KATAKANA LETTER O
+    86 |  000030AB | KATAKANA LETTER KA
+    87 |  000030AD | KATAKANA LETTER KI
+    88 |  000030AF | KATAKANA LETTER KU
+    89 |  000030B1 | KATAKANA LETTER KE
+    8A |  000030B3 | KATAKANA LETTER KO
+    8C |  000030B5 | KATAKANA LETTER SA
+    8D |  000030B7 | KATAKANA LETTER SI
+    8E |  000030B9 | KATAKANA LETTER SU
+    8F |  000030BB | KATAKANA LETTER SE
+    90 |  000030BD | KATAKANA LETTER SO
+    91 |  000030BF | KATAKANA LETTER TA
+    92 |  000030C1 | KATAKANA LETTER TI
+    93 |  000030C4 | KATAKANA LETTER TU
+    94 |  000030C6 | KATAKANA LETTER TE
+    95 |  000030C8 | KATAKANA LETTER TO
+    96 |  000030CA | KATAKANA LETTER NA
+    97 |  000030CB | KATAKANA LETTER NI
+    98 |  000030CC | KATAKANA LETTER NU
+    99 |  000030CD | KATAKANA LETTER NE
+    9A |  000030CE | KATAKANA LETTER NO
+    9D |  000030CF | KATAKANA LETTER HA
+    9E |  000030D2 | KATAKANA LETTER HI
+    9F |  000030D5 | KATAKANA LETTER HU
+    A1 |  0000203E | OVERLINE
+    A2 |  000030D8 | KATAKANA LETTER HE
+    A3 |  000030DB | KATAKANA LETTER HO
+    A4 |  000030DE | KATAKANA LETTER MA
+    A5 |  000030DF | KATAKANA LETTER MI
+    A6 |  000030E0 | KATAKANA LETTER MU
+    A7 |  000030E1 | KATAKANA LETTER ME
+    A8 |  000030E2 | KATAKANA LETTER MO
+    A9 |  000030E4 | KATAKANA LETTER YA
+    AA |  000030E6 | KATAKANA LETTER YU
+    AC |  000030E8 | KATAKANA LETTER YO
+    AD |  000030E9 | KATAKANA LETTER RA
+    AE |  000030EA | KATAKANA LETTER RI
+    AF |  000030EB | KATAKANA LETTER RU
+    BA |  000030EC | KATAKANA LETTER RE
+    BB |  000030ED | KATAKANA LETTER RO
+    BC |  000030EF | KATAKANA LETTER WA
+    BD |  000030F3 | KATAKANA LETTER N
+    BE |  0000309B | KATAKANA-HIRAGANA VOICED SOUND MARK
+    BF |  0000309C | KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    E0 |  00000024 | DOLLAR SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM297.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM297.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM297.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM297.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM297.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM297.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM297;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x0040,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x005c,
+    0x00f1,
+    0x00b0,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x007b,
+    0x00ea,
+    0x00eb,
+    0x007d,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x00a7,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00f9,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00b5,
+    0x003a,
+    0x00a3,
+    0x00e0,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x005b,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x0060,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x0023,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x005d,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x203e,
+    0x007e,
+    0x00b4,
+    0x00d7,
+    0x00e9,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x00e8,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00a6,
+    0x00fa,
+    0x00ff,
+    0x00e7,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\x40",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\x5c",
+    "\xc3\xb1",
+    "\xc2\xb0",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\x7b",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\x7d",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\xc2\xa7",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc3\xb9",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc2\xb5",
+    "\x3a",
+    "\xc2\xa3",
+    "\xc3\xa0",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\x5b",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\x60",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\x23",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\x5d",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xe2\x80\xbe",
+    "\x7e",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\xc3\xa9",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\xc3\xa8",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc2\xa6",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\xc3\xa7",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\xb1",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x44",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x90",
+    0x0000005c => "\x48",
+    0x0000005d => "\xb5",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\xa0",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x51",
+    0x0000007c => "\xbb",
+    0x0000007d => "\x54",
+    0x0000007e => "\xbd",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\x7b",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\xdd",
+    0x000000a7 => "\x5a",
+    0x000000a8 => "\xa1",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x4a",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\x79",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x7c",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\xe0",
+    0x000000e8 => "\xd0",
+    0x000000e9 => "\xc0",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\x6a",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+    0x0000203e => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM297 - Conversion routines for IBM297
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM297.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP297
+ alias EBCDIC-CP-FR
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  00000040 | COMMERCIAL AT
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  0000005C | REVERSE SOLIDUS
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000B0 | DEGREE SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  0000007B | LEFT CURLY BRACKET
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  0000007D | RIGHT CURLY BRACKET
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  000000A7 | SECTION SIGN
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  000000B5 | MICRO SIGN
+    7A |  0000003A | COLON
+    7B |  000000A3 | POUND SIGN
+    7C |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  0000005B | LEFT SQUARE BRACKET
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  00000060 | GRAVE ACCENT
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  00000023 | NUMBER SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  0000005D | RIGHT SQUARE BRACKET
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  0000203E | OVERLINE
+    BD |  0000007E | TILDE
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000A6 | BROKEN BAR
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM420.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM420.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM420.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM420.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,1128 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM420.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM420.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM420;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x0651,
+    0xfe7d,
+    0x0640,
+    0xfffd,
+    0x0621,
+    0x0622,
+    0xfe82,
+    0x0623,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0xfe84,
+    0x0624,
+    0xfffd,
+    0xfffd,
+    0x0626,
+    0x0627,
+    0xfe8e,
+    0x0628,
+    0xfe91,
+    0x0021,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0x0629,
+    0x062a,
+    0xfe97,
+    0x062b,
+    0xfe9b,
+    0x062c,
+    0xfe9f,
+    0x062d,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfea3,
+    0x062e,
+    0xfea7,
+    0x062f,
+    0x0630,
+    0x0631,
+    0x0632,
+    0x0633,
+    0xfeb3,
+    0x060c,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x0634,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0xfeb7,
+    0x0635,
+    0xfebb,
+    0x0636,
+    0xfebf,
+    0x0637,
+    0x0638,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0639,
+    0xfeca,
+    0xfecb,
+    0xfecc,
+    0x063a,
+    0xfece,
+    0xfecf,
+    0x00f7,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfed0,
+    0x0641,
+    0xfed3,
+    0x0642,
+    0xfed7,
+    0x0643,
+    0xfedb,
+    0x0644,
+    0xfef5,
+    0xfef6,
+    0xfef7,
+    0xfef8,
+    0xfffd,
+    0xfffd,
+    0xfefb,
+    0xfefc,
+    0xfedf,
+    0x0645,
+    0xfee3,
+    0x0646,
+    0xfee7,
+    0x0647,
+    0x061b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0xfeeb,
+    0xfffd,
+    0xfeec,
+    0xfffd,
+    0x0648,
+    0x061f,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0649,
+    0xfef0,
+    0x064a,
+    0xfef2,
+    0xfef3,
+    0x0660,
+    0x00d7,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x0661,
+    0x0662,
+    0xfffd,
+    0x0663,
+    0x0664,
+    0x0665,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0x0666,
+    0x0667,
+    0x0668,
+    0x0669,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xd9\x91",
+    "\xef\xb9\xbd",
+    "\xd9\x80",
+    "\xef\xbf\xbd",
+    "\xd8\xa1",
+    "\xd8\xa2",
+    "\xef\xba\x82",
+    "\xd8\xa3",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xef\xba\x84",
+    "\xd8\xa4",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\xa6",
+    "\xd8\xa7",
+    "\xef\xba\x8e",
+    "\xd8\xa8",
+    "\xef\xba\x91",
+    "\x21",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xd8\xa9",
+    "\xd8\xaa",
+    "\xef\xba\x97",
+    "\xd8\xab",
+    "\xef\xba\x9b",
+    "\xd8\xac",
+    "\xef\xba\x9f",
+    "\xd8\xad",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xba\xa3",
+    "\xd8\xae",
+    "\xef\xba\xa7",
+    "\xd8\xaf",
+    "\xd8\xb0",
+    "\xd8\xb1",
+    "\xd8\xb2",
+    "\xd8\xb3",
+    "\xef\xba\xb3",
+    "\xd8\x8c",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xd8\xb4",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xef\xba\xb7",
+    "\xd8\xb5",
+    "\xef\xba\xbb",
+    "\xd8\xb6",
+    "\xef\xba\xbf",
+    "\xd8\xb7",
+    "\xd8\xb8",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xd8\xb9",
+    "\xef\xbb\x8a",
+    "\xef\xbb\x8b",
+    "\xef\xbb\x8c",
+    "\xd8\xba",
+    "\xef\xbb\x8e",
+    "\xef\xbb\x8f",
+    "\xc3\xb7",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbb\x90",
+    "\xd9\x81",
+    "\xef\xbb\x93",
+    "\xd9\x82",
+    "\xef\xbb\x97",
+    "\xd9\x83",
+    "\xef\xbb\x9b",
+    "\xd9\x84",
+    "\xef\xbb\xb5",
+    "\xef\xbb\xb6",
+    "\xef\xbb\xb7",
+    "\xef\xbb\xb8",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbb\xbb",
+    "\xef\xbb\xbc",
+    "\xef\xbb\x9f",
+    "\xd9\x85",
+    "\xef\xbb\xa3",
+    "\xd9\x86",
+    "\xef\xbb\xa7",
+    "\xd9\x87",
+    "\xd8\x9b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xef\xbb\xab",
+    "\xef\xbf\xbd",
+    "\xef\xbb\xac",
+    "\xef\xbf\xbd",
+    "\xd9\x88",
+    "\xd8\x9f",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xd9\x89",
+    "\xef\xbb\xb0",
+    "\xd9\x8a",
+    "\xef\xbb\xb2",
+    "\xef\xbb\xb3",
+    "\xd9\xa0",
+    "\xc3\x97",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xd9\xa1",
+    "\xd9\xa2",
+    "\xef\xbf\xbd",
+    "\xd9\xa3",
+    "\xd9\xa4",
+    "\xd9\xa5",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xd9\xa6",
+    "\xd9\xa7",
+    "\xd9\xa8",
+    "\xd9\xa9",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007c => "\x4f",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a2 => "\x4a",
+    0x000000a6 => "\x6a",
+    0x000000ac => "\x5f",
+    0x000000ad => "\xca",
+    0x000000d7 => "\xe0",
+    0x000000f7 => "\xa1",
+    0x0000060c => "\x79",
+    0x0000061b => "\xc0",
+    0x0000061f => "\xd0",
+    0x00000621 => "\x46",
+    0x00000622 => "\x47",
+    0x00000623 => "\x49",
+    0x00000624 => "\x52",
+    0x00000626 => "\x55",
+    0x00000627 => "\x56",
+    0x00000628 => "\x58",
+    0x00000629 => "\x62",
+    0x0000062a => "\x63",
+    0x0000062b => "\x65",
+    0x0000062c => "\x67",
+    0x0000062d => "\x69",
+    0x0000062e => "\x71",
+    0x0000062f => "\x73",
+    0x00000630 => "\x74",
+    0x00000631 => "\x75",
+    0x00000632 => "\x76",
+    0x00000633 => "\x77",
+    0x00000634 => "\x80",
+    0x00000635 => "\x8b",
+    0x00000636 => "\x8d",
+    0x00000637 => "\x8f",
+    0x00000638 => "\x90",
+    0x00000639 => "\x9a",
+    0x0000063a => "\x9e",
+    0x00000640 => "\x44",
+    0x00000641 => "\xab",
+    0x00000642 => "\xad",
+    0x00000643 => "\xaf",
+    0x00000644 => "\xb1",
+    0x00000645 => "\xbb",
+    0x00000646 => "\xbd",
+    0x00000647 => "\xbf",
+    0x00000648 => "\xcf",
+    0x00000649 => "\xda",
+    0x0000064a => "\xdc",
+    0x00000651 => "\x42",
+    0x00000660 => "\xdf",
+    0x00000661 => "\xea",
+    0x00000662 => "\xeb",
+    0x00000663 => "\xed",
+    0x00000664 => "\xee",
+    0x00000665 => "\xef",
+    0x00000666 => "\xfb",
+    0x00000667 => "\xfc",
+    0x00000668 => "\xfd",
+    0x00000669 => "\xfe",
+    0x0000fe7d => "\x43",
+    0x0000fe82 => "\x48",
+    0x0000fe84 => "\x51",
+    0x0000fe8e => "\x57",
+    0x0000fe91 => "\x59",
+    0x0000fe97 => "\x64",
+    0x0000fe9b => "\x66",
+    0x0000fe9f => "\x68",
+    0x0000fea3 => "\x70",
+    0x0000fea7 => "\x72",
+    0x0000feb3 => "\x78",
+    0x0000feb7 => "\x8a",
+    0x0000febb => "\x8c",
+    0x0000febf => "\x8e",
+    0x0000feca => "\x9b",
+    0x0000fecb => "\x9c",
+    0x0000fecc => "\x9d",
+    0x0000fece => "\x9f",
+    0x0000fecf => "\xa0",
+    0x0000fed0 => "\xaa",
+    0x0000fed3 => "\xac",
+    0x0000fed7 => "\xae",
+    0x0000fedb => "\xb0",
+    0x0000fedf => "\xba",
+    0x0000fee3 => "\xbc",
+    0x0000fee7 => "\xbe",
+    0x0000feeb => "\xcb",
+    0x0000feec => "\xcd",
+    0x0000fef0 => "\xdb",
+    0x0000fef2 => "\xdd",
+    0x0000fef3 => "\xde",
+    0x0000fef5 => "\xb2",
+    0x0000fef6 => "\xb3",
+    0x0000fef7 => "\xb4",
+    0x0000fef8 => "\xb5",
+    0x0000fefb => "\xb8",
+    0x0000fefc => "\xb9",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\xd0"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM420 - Conversion routines for IBM420
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM420.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+  IBM NLS RM p 11-11
+ alias CP420
+ alias EBCDIC-CP-AR1
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  00000651 | ARABIC SHADDA
+    43 |  0000FE7D | ARABIC SHADDA MEDIAL FORM
+    44 |  00000640 | ARABIC TATWEEL
+    46 |  00000621 | ARABIC LETTER HAMZA
+    47 |  00000622 | ARABIC LETTER ALEF WITH MADDA ABOVE
+    48 |  0000FE82 | ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+    49 |  00000623 | ARABIC LETTER ALEF WITH HAMZA ABOVE
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    51 |  0000FE84 | ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+    52 |  00000624 | ARABIC LETTER WAW WITH HAMZA ABOVE
+    55 |  00000626 | ARABIC LETTER YEH WITH HAMZA ABOVE
+    56 |  00000627 | ARABIC LETTER ALEF
+    57 |  0000FE8E | ARABIC LETTER ALEF FINAL FORM
+    58 |  00000628 | ARABIC LETTER BEH
+    59 |  0000FE91 | ARABIC LETTER BEH INITIAL FORM
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  00000629 | ARABIC LETTER TEH MARBUTA
+    63 |  0000062A | ARABIC LETTER TEH
+    64 |  0000FE97 | ARABIC LETTER TEH INITIAL FORM
+    65 |  0000062B | ARABIC LETTER THEH
+    66 |  0000FE9B | ARABIC LETTER THEH INITIAL FORM
+    67 |  0000062C | ARABIC LETTER JEEM
+    68 |  0000FE9F | ARABIC LETTER JEEM INITIAL FORM
+    69 |  0000062D | ARABIC LETTER HAH
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  0000FEA3 | ARABIC LETTER HAH INITIAL FORM
+    71 |  0000062E | ARABIC LETTER KHAH
+    72 |  0000FEA7 | ARABIC LETTER KHAH INITIAL FORM
+    73 |  0000062F | ARABIC LETTER DAL
+    74 |  00000630 | ARABIC LETTER THAL
+    75 |  00000631 | ARABIC LETTER REH
+    76 |  00000632 | ARABIC LETTER ZAIN
+    77 |  00000633 | ARABIC LETTER SEEN
+    78 |  0000FEB3 | ARABIC LETTER SEEN INITIAL FORM
+    79 |  0000060C | ARABIC COMMA
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  00000634 | ARABIC LETTER SHEEN
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  0000FEB7 | ARABIC LETTER SHEEN INITIAL FORM
+    8B |  00000635 | ARABIC LETTER SAD
+    8C |  0000FEBB | ARABIC LETTER SAD INITIAL FORM
+    8D |  00000636 | ARABIC LETTER DAD
+    8E |  0000FEBF | ARABIC LETTER DAD INITIAL FORM
+    8F |  00000637 | ARABIC LETTER TAH
+    90 |  00000638 | ARABIC LETTER ZAH
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  00000639 | ARABIC LETTER AIN
+    9B |  0000FECA | ARABIC LETTER AIN FINAL FORM
+    9C |  0000FECB | ARABIC LETTER AIN INITIAL FORM
+    9D |  0000FECC | ARABIC LETTER AIN MEDIAL FORM
+    9E |  0000063A | ARABIC LETTER GHAIN
+    9F |  0000FECE | ARABIC LETTER GHAIN FINAL FORM
+    A0 |  0000FECF | ARABIC LETTER GHAIN INITIAL FORM
+    A1 |  000000F7 | DIVISION SIGN
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  0000FED0 | ARABIC LETTER GHAIN MEDIAL FORM
+    AB |  00000641 | ARABIC LETTER FEH
+    AC |  0000FED3 | ARABIC LETTER FEH INITIAL FORM
+    AD |  00000642 | ARABIC LETTER QAF
+    AE |  0000FED7 | ARABIC LETTER QAF INITIAL FORM
+    AF |  00000643 | ARABIC LETTER KAF
+    B0 |  0000FEDB | ARABIC LETTER KAF INITIAL FORM
+    B1 |  00000644 | ARABIC LETTER LAM
+    B2 |  0000FEF5 | ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED 
FORM
+    B3 |  0000FEF6 | ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+    B4 |  0000FEF7 | ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED 
FORM
+    B5 |  0000FEF8 | ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+    B8 |  0000FEFB | ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+    B9 |  0000FEFC | ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+    BA |  0000FEDF | ARABIC LETTER LAM INITIAL FORM
+    BB |  00000645 | ARABIC LETTER MEEM
+    BC |  0000FEE3 | ARABIC LETTER MEEM INITIAL FORM
+    BD |  00000646 | ARABIC LETTER NOON
+    BE |  0000FEE7 | ARABIC LETTER NOON INITIAL FORM
+    BF |  00000647 | ARABIC LETTER HEH
+    C0 |  0000061B | ARABIC SEMICOLON
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  0000FEEB | ARABIC LETTER HEH INITIAL FORM
+    CD |  0000FEEC | ARABIC LETTER HEH MEDIAL FORM
+    CF |  00000648 | ARABIC LETTER WAW
+    D0 |  0000061F | ARABIC QUESTION MARK
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  00000649 | ARABIC LETTER ALEF MAKSURA
+    DB |  0000FEF0 | ARABIC LETTER ALEF MAKSURA FINAL FORM
+    DC |  0000064A | ARABIC LETTER YEH
+    DD |  0000FEF2 | ARABIC LETTER YEH FINAL FORM
+    DE |  0000FEF3 | ARABIC LETTER YEH INITIAL FORM
+    DF |  00000660 | ARABIC-INDIC DIGIT ZERO
+    E0 |  000000D7 | MULTIPLICATION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  00000661 | ARABIC-INDIC DIGIT ONE
+    EB |  00000662 | ARABIC-INDIC DIGIT TWO
+    ED |  00000663 | ARABIC-INDIC DIGIT THREE
+    EE |  00000664 | ARABIC-INDIC DIGIT FOUR
+    EF |  00000665 | ARABIC-INDIC DIGIT FIVE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FB |  00000666 | ARABIC-INDIC DIGIT SIX
+    FC |  00000667 | ARABIC-INDIC DIGIT SEVEN
+    FD |  00000668 | ARABIC-INDIC DIGIT EIGHT
+    FE |  00000669 | ARABIC-INDIC DIGIT NINE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM423.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM423.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM423.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM423.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,1127 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM423.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM423.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM423;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x0398,
+    0x0399,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039e,
+    0x039f,
+    0x03a0,
+    0x03a1,
+    0x03a3,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0x0386,
+    0x0388,
+    0x0389,
+    0xfffd,
+    0x038a,
+    0x038c,
+    0x038e,
+    0x038f,
+    0x0060,
+    0x003a,
+    0x00a3,
+    0x00a7,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00c4,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0x03b6,
+    0x00d6,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x00dc,
+    0x00a8,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c2,
+    0xfffd,
+    0x03ac,
+    0x03ad,
+    0x03ae,
+    0x03ca,
+    0x03af,
+    0x03cc,
+    0x03cd,
+    0x03cb,
+    0x03ce,
+    0x03c3,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x03c8,
+    0x00b8,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0xfffd,
+    0x03c9,
+    0x00c2,
+    0x00e0,
+    0x00e4,
+    0x00ea,
+    0x00b4,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b1,
+    0x00e9,
+    0x00e8,
+    0x00eb,
+    0x00ee,
+    0x00ef,
+    0x00b0,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00bd,
+    0x00f6,
+    0x00f4,
+    0x00fb,
+    0x00f9,
+    0x00fc,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00ff,
+    0x00e7,
+    0x00c7,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x98",
+    "\xce\x99",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xce\xa3",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xce\x86",
+    "\xce\x88",
+    "\xce\x89",
+    "\xef\xbf\xbd",
+    "\xce\x8a",
+    "\xce\x8c",
+    "\xce\x8e",
+    "\xce\x8f",
+    "\x60",
+    "\x3a",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x84",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xce\xb6",
+    "\xc3\x96",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xc3\x9c",
+    "\xc2\xa8",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x82",
+    "\xef\xbf\xbd",
+    "\xce\xac",
+    "\xce\xad",
+    "\xce\xae",
+    "\xcf\x8a",
+    "\xce\xaf",
+    "\xcf\x8c",
+    "\xcf\x8d",
+    "\xcf\x8b",
+    "\xcf\x8e",
+    "\xcf\x83",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\xc2\xb8",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xef\xbf\xbd",
+    "\xcf\x89",
+    "\xc3\x82",
+    "\xc3\xa0",
+    "\xc3\xa4",
+    "\xc3\xaa",
+    "\xc2\xb4",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb1",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xab",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc2\xb0",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xbd",
+    "\xc3\xb6",
+    "\xc3\xb4",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc3\xbc",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc3\xbf",
+    "\xc3\xa7",
+    "\xc3\x87",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\x7b",
+    0x000000a7 => "\x7c",
+    0x000000a8 => "\xa1",
+    0x000000b0 => "\xe0",
+    0x000000b1 => "\xda",
+    0x000000b4 => "\xd0",
+    0x000000b8 => "\xc0",
+    0x000000bd => "\xea",
+    0x000000c2 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c7 => "\xfc",
+    0x000000d6 => "\x90",
+    0x000000dc => "\xa0",
+    0x000000e0 => "\xcd",
+    0x000000e4 => "\xce",
+    0x000000e7 => "\xfb",
+    0x000000e8 => "\xdc",
+    0x000000e9 => "\xdb",
+    0x000000ea => "\xcf",
+    0x000000eb => "\xdd",
+    0x000000ee => "\xde",
+    0x000000ef => "\xdf",
+    0x000000f4 => "\xec",
+    0x000000f6 => "\xeb",
+    0x000000f9 => "\xee",
+    0x000000fb => "\xed",
+    0x000000fc => "\xef",
+    0x000000ff => "\xfa",
+    0x00000386 => "\x71",
+    0x00000388 => "\x72",
+    0x00000389 => "\x73",
+    0x0000038a => "\x75",
+    0x0000038c => "\x76",
+    0x0000038e => "\x77",
+    0x0000038f => "\x78",
+    0x00000391 => "\x41",
+    0x00000392 => "\x42",
+    0x00000393 => "\x43",
+    0x00000394 => "\x44",
+    0x00000395 => "\x45",
+    0x00000396 => "\x46",
+    0x00000397 => "\x47",
+    0x00000398 => "\x48",
+    0x00000399 => "\x49",
+    0x0000039a => "\x51",
+    0x0000039b => "\x52",
+    0x0000039c => "\x53",
+    0x0000039d => "\x54",
+    0x0000039e => "\x55",
+    0x0000039f => "\x56",
+    0x000003a0 => "\x57",
+    0x000003a1 => "\x58",
+    0x000003a3 => "\x59",
+    0x000003a4 => "\x62",
+    0x000003a5 => "\x63",
+    0x000003a6 => "\x64",
+    0x000003a7 => "\x65",
+    0x000003a8 => "\x66",
+    0x000003a9 => "\x67",
+    0x000003ac => "\xb1",
+    0x000003ad => "\xb2",
+    0x000003ae => "\xb3",
+    0x000003af => "\xb5",
+    0x000003b1 => "\x8a",
+    0x000003b2 => "\x8b",
+    0x000003b3 => "\x8c",
+    0x000003b4 => "\x8d",
+    0x000003b5 => "\x8e",
+    0x000003b6 => "\x8f",
+    0x000003b7 => "\x9a",
+    0x000003b8 => "\x9b",
+    0x000003b9 => "\x9c",
+    0x000003ba => "\x9d",
+    0x000003bb => "\x9e",
+    0x000003bc => "\x9f",
+    0x000003bd => "\xaa",
+    0x000003be => "\xab",
+    0x000003bf => "\xac",
+    0x000003c0 => "\xad",
+    0x000003c1 => "\xae",
+    0x000003c2 => "\xaf",
+    0x000003c3 => "\xba",
+    0x000003c4 => "\xbb",
+    0x000003c5 => "\xbc",
+    0x000003c6 => "\xbd",
+    0x000003c7 => "\xbe",
+    0x000003c8 => "\xbf",
+    0x000003c9 => "\xcb",
+    0x000003ca => "\xb4",
+    0x000003cb => "\xb8",
+    0x000003cc => "\xb6",
+    0x000003cd => "\xb7",
+    0x000003ce => "\xb9",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM423 - Conversion routines for IBM423
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM423.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP423
+ alias EBCDIC-CP-GR
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    42 |  00000392 | GREEK CAPITAL LETTER BETA
+    43 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    44 |  00000394 | GREEK CAPITAL LETTER DELTA
+    45 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    46 |  00000396 | GREEK CAPITAL LETTER ZETA
+    47 |  00000397 | GREEK CAPITAL LETTER ETA
+    48 |  00000398 | GREEK CAPITAL LETTER THETA
+    49 |  00000399 | GREEK CAPITAL LETTER IOTA
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  0000039A | GREEK CAPITAL LETTER KAPPA
+    52 |  0000039B | GREEK CAPITAL LETTER LAMDA
+    53 |  0000039C | GREEK CAPITAL LETTER MU
+    54 |  0000039D | GREEK CAPITAL LETTER NU
+    55 |  0000039E | GREEK CAPITAL LETTER XI
+    56 |  0000039F | GREEK CAPITAL LETTER OMICRON
+    57 |  000003A0 | GREEK CAPITAL LETTER PI
+    58 |  000003A1 | GREEK CAPITAL LETTER RHO
+    59 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000003A4 | GREEK CAPITAL LETTER TAU
+    63 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    64 |  000003A6 | GREEK CAPITAL LETTER PHI
+    65 |  000003A7 | GREEK CAPITAL LETTER CHI
+    66 |  000003A8 | GREEK CAPITAL LETTER PSI
+    67 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    71 |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
+    72 |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
+    73 |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
+    75 |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
+    76 |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
+    77 |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
+    78 |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  000000A3 | POUND SIGN
+    7C |  000000A7 | SECTION SIGN
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000003B1 | GREEK SMALL LETTER ALPHA
+    8B |  000003B2 | GREEK SMALL LETTER BETA
+    8C |  000003B3 | GREEK SMALL LETTER GAMMA
+    8D |  000003B4 | GREEK SMALL LETTER DELTA
+    8E |  000003B5 | GREEK SMALL LETTER EPSILON
+    8F |  000003B6 | GREEK SMALL LETTER ZETA
+    90 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000003B7 | GREEK SMALL LETTER ETA
+    9B |  000003B8 | GREEK SMALL LETTER THETA
+    9C |  000003B9 | GREEK SMALL LETTER IOTA
+    9D |  000003BA | GREEK SMALL LETTER KAPPA
+    9E |  000003BB | GREEK SMALL LETTER LAMDA
+    9F |  000003BC | GREEK SMALL LETTER MU
+    A0 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    A1 |  000000A8 | DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000003BD | GREEK SMALL LETTER NU
+    AB |  000003BE | GREEK SMALL LETTER XI
+    AC |  000003BF | GREEK SMALL LETTER OMICRON
+    AD |  000003C0 | GREEK SMALL LETTER PI
+    AE |  000003C1 | GREEK SMALL LETTER RHO
+    AF |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    B1 |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
+    B2 |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
+    B3 |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
+    B4 |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
+    B5 |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
+    B6 |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
+    B7 |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
+    B8 |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+    B9 |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
+    BA |  000003C3 | GREEK SMALL LETTER SIGMA
+    BB |  000003C4 | GREEK SMALL LETTER TAU
+    BC |  000003C5 | GREEK SMALL LETTER UPSILON
+    BD |  000003C6 | GREEK SMALL LETTER PHI
+    BE |  000003C7 | GREEK SMALL LETTER CHI
+    BF |  000003C8 | GREEK SMALL LETTER PSI
+    C0 |  000000B8 | CEDILLA
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CB |  000003C9 | GREEK SMALL LETTER OMEGA
+    CC |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    CD |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    CE |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    CF |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    D0 |  000000B4 | ACUTE ACCENT
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B1 | PLUS-MINUS SIGN
+    DB |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    DC |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    DD |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    DE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    DF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    E0 |  000000B0 | DEGREE SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000BD | VULGAR FRACTION ONE HALF
+    EB |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    EC |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    ED |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    EE |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    EF |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    FB |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    FC |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM424.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM424.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM424.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM424.pm   12 Oct 2011 
23:51:37 -0000      1.1
@@ -0,0 +1,1069 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM424.pm,v 1.1 2011/10/12 23:51:37 pertusus Exp $
+
+# Conversion routines for IBM424.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM424;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x05d0,
+    0x05d1,
+    0x05d2,
+    0x05d3,
+    0x05d4,
+    0x05d5,
+    0x05d6,
+    0x05d7,
+    0x05d8,
+    0x00a2,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x007c,
+    0x0026,
+    0x05d9,
+    0x05da,
+    0x05db,
+    0x05dc,
+    0x05dd,
+    0x05de,
+    0x05df,
+    0x05e0,
+    0x05e1,
+    0x0021,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00ac,
+    0x002d,
+    0x002f,
+    0x05e2,
+    0x05e3,
+    0x05e4,
+    0x05e5,
+    0x05e6,
+    0x05e7,
+    0x05e8,
+    0x05e9,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0x05ea,
+    0xfffd,
+    0xfffd,
+    0x00a0,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x21d4,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b8,
+    0xfffd,
+    0x00a4,
+    0x00b5,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00ae,
+    0x005e,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x005b,
+    0x005d,
+    0x203e,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xd7\x90",
+    "\xd7\x91",
+    "\xd7\x92",
+    "\xd7\x93",
+    "\xd7\x94",
+    "\xd7\x95",
+    "\xd7\x96",
+    "\xd7\x97",
+    "\xd7\x98",
+    "\xc2\xa2",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x7c",
+    "\x26",
+    "\xd7\x99",
+    "\xd7\x9a",
+    "\xd7\x9b",
+    "\xd7\x9c",
+    "\xd7\x9d",
+    "\xd7\x9e",
+    "\xd7\x9f",
+    "\xd7\xa0",
+    "\xd7\xa1",
+    "\x21",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc2\xac",
+    "\x2d",
+    "\x2f",
+    "\xd7\xa2",
+    "\xd7\xa3",
+    "\xd7\xa4",
+    "\xd7\xa5",
+    "\xd7\xa6",
+    "\xd7\xa7",
+    "\xd7\xa8",
+    "\xd7\xa9",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xd7\xaa",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa0",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x87\x94",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb8",
+    "\xef\xbf\xbd",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xae",
+    "\x5e",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\x5b",
+    "\x5d",
+    "\xe2\x80\xbe",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x5a",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\xba",
+    0x0000005c => "\xe0",
+    0x0000005d => "\xbb",
+    0x0000005e => "\xb0",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x4f",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x74",
+    0x000000a2 => "\x4a",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x6a",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000ab => "\x8a",
+    0x000000ac => "\x5f",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000b0 => "\x90",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000d7 => "\xbf",
+    0x000000f7 => "\xe1",
+    0x000005d0 => "\x41",
+    0x000005d1 => "\x42",
+    0x000005d2 => "\x43",
+    0x000005d3 => "\x44",
+    0x000005d4 => "\x45",
+    0x000005d5 => "\x46",
+    0x000005d6 => "\x47",
+    0x000005d7 => "\x48",
+    0x000005d8 => "\x49",
+    0x000005d9 => "\x51",
+    0x000005da => "\x52",
+    0x000005db => "\x53",
+    0x000005dc => "\x54",
+    0x000005dd => "\x55",
+    0x000005de => "\x56",
+    0x000005df => "\x57",
+    0x000005e0 => "\x58",
+    0x000005e1 => "\x59",
+    0x000005e2 => "\x62",
+    0x000005e3 => "\x63",
+    0x000005e4 => "\x64",
+    0x000005e5 => "\x65",
+    0x000005e6 => "\x66",
+    0x000005e7 => "\x67",
+    0x000005e8 => "\x68",
+    0x000005e9 => "\x69",
+    0x000005ea => "\x71",
+    0x0000203e => "\xbc",
+    0x000021d4 => "\x78",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM424 - Conversion routines for IBM424
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM424.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP424
+ alias EBCDIC-CP-HE
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000005D0 | HEBREW LETTER ALEF
+    42 |  000005D1 | HEBREW LETTER BET
+    43 |  000005D2 | HEBREW LETTER GIMEL
+    44 |  000005D3 | HEBREW LETTER DALET
+    45 |  000005D4 | HEBREW LETTER HE
+    46 |  000005D5 | HEBREW LETTER VAV
+    47 |  000005D6 | HEBREW LETTER ZAYIN
+    48 |  000005D7 | HEBREW LETTER HET
+    49 |  000005D8 | HEBREW LETTER TET
+    4A |  000000A2 | CENT SIGN
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  0000007C | VERTICAL LINE
+    50 |  00000026 | AMPERSAND
+    51 |  000005D9 | HEBREW LETTER YOD
+    52 |  000005DA | HEBREW LETTER FINAL KAF
+    53 |  000005DB | HEBREW LETTER KAF
+    54 |  000005DC | HEBREW LETTER LAMED
+    55 |  000005DD | HEBREW LETTER FINAL MEM
+    56 |  000005DE | HEBREW LETTER MEM
+    57 |  000005DF | HEBREW LETTER FINAL NUN
+    58 |  000005E0 | HEBREW LETTER NUN
+    59 |  000005E1 | HEBREW LETTER SAMEKH
+    5A |  00000021 | EXCLAMATION MARK
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000AC | NOT SIGN
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000005E2 | HEBREW LETTER AYIN
+    63 |  000005E3 | HEBREW LETTER FINAL PE
+    64 |  000005E4 | HEBREW LETTER PE
+    65 |  000005E5 | HEBREW LETTER FINAL TSADI
+    66 |  000005E6 | HEBREW LETTER TSADI
+    67 |  000005E7 | HEBREW LETTER QOF
+    68 |  000005E8 | HEBREW LETTER RESH
+    69 |  000005E9 | HEBREW LETTER SHIN
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    71 |  000005EA | HEBREW LETTER TAV
+    74 |  000000A0 | NO-BREAK SPACE
+    78 |  000021D4 | LEFT RIGHT DOUBLE ARROW
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9D |  000000B8 | CEDILLA
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  0000005E | CIRCUMFLEX ACCENT
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  0000005B | LEFT SQUARE BRACKET
+    BB |  0000005D | RIGHT SQUARE BRACKET
+    BC |  0000203E | OVERLINE
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM437.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM437.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM437.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM437.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM437.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM437.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM437;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x00ec,
+    0x00c4,
+    0x00c5,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00fb,
+    0x00f9,
+    0x00ff,
+    0x00d6,
+    0x00dc,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x20a7,
+    0x0192,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x00ba,
+    0x00bf,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x03b1,
+    0x00df,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x0398,
+    0x03a9,
+    0x03b4,
+    0x221e,
+    0x03c6,
+    0x03b5,
+    0x2229,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2219,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xc3\xac",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc3\xbf",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xe2\x82\xa7",
+    "\xc6\x92",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xbf",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xce\xb1",
+    "\xc3\x9f",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\x9e",
+    "\xcf\x86",
+    "\xce\xb5",
+    "\xe2\x88\xa9",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x88\x99",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\x9b",
+    0x000000a3 => "\x9c",
+    0x000000a5 => "\x9d",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b5 => "\xe6",
+    0x000000b7 => "\xfa",
+    0x000000ba => "\xa7",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000c4 => "\x8e",
+    0x000000c5 => "\x8f",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c9 => "\x90",
+    0x000000d1 => "\xa5",
+    0x000000d6 => "\x99",
+    0x000000dc => "\x9a",
+    0x000000df => "\xe1",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ec => "\x8d",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f1 => "\xa4",
+    0x000000f2 => "\x95",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000000ff => "\x98",
+    0x00000192 => "\x9f",
+    0x00000393 => "\xe2",
+    0x00000398 => "\xe9",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b4 => "\xeb",
+    0x000003b5 => "\xee",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x0000207f => "\xfc",
+    0x000020a7 => "\x9e",
+    0x00002219 => "\xf9",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xec",
+    0x00002229 => "\xef",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM437 - Conversion routines for IBM437
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM437.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP437
+ alias 437
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000A2 | CENT SIGN
+    9C |  000000A3 | POUND SIGN
+    9D |  000000A5 | YEN SIGN
+    9E |  000020A7 | PESETA SIGN
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  00000398 | GREEK CAPITAL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000221E | INFINITY
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  000003B5 | GREEK SMALL LETTER EPSILON
+    EF |  00002229 | INTERSECTION
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002219 | BULLET OPERATOR
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM500.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM500.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM500.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM500.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1150 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM500.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM500.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM500;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00f1,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x00f0,
+    0x00fd,
+    0x00fe,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x00e6,
+    0x00b8,
+    0x00c6,
+    0x00a4,
+    0x00b5,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x00d0,
+    0x00dd,
+    0x00de,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x00af,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x00d6,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xc3\xb0",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc3\xa6",
+    "\xc2\xb8",
+    "\xc3\x86",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\xc3\x90",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xc2\xaf",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\xbb",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x6a",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000af => "\xbc",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x9e",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\xac",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xae",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\x9c",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x8c",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x8e",
+    0x000000ff => "\xdf",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM500 - Conversion routines for IBM500
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM500.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP500
+ alias 500
+ alias 500V1
+ alias EBCDIC-CP-BE
+ alias EBCDIC-CP-CH
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  000000E6 | LATIN SMALL LETTER AE
+    9D |  000000B8 | CEDILLA
+    9E |  000000C6 | LATIN CAPITAL LETTER AE
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  000000AF | MACRON
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM850.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM850.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM850.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM850.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1148 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM850.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM850.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM850;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x00ec,
+    0x00c4,
+    0x00c5,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00fb,
+    0x00f9,
+    0x00ff,
+    0x00d6,
+    0x00dc,
+    0x00f8,
+    0x00a3,
+    0x00d8,
+    0x00d7,
+    0x0192,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x00ba,
+    0x00bf,
+    0x00ae,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x00c1,
+    0x00c2,
+    0x00c0,
+    0x00a9,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x00a2,
+    0x00a5,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x00e3,
+    0x00c3,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x00a4,
+    0x00f0,
+    0x00d0,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x0131,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x00a6,
+    0x00cc,
+    0x2580,
+    0x00d3,
+    0x00df,
+    0x00d4,
+    0x00d2,
+    0x00f5,
+    0x00d5,
+    0x00b5,
+    0x00fe,
+    0x00de,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x00fd,
+    0x00dd,
+    0x00af,
+    0x00b4,
+    0x00ad,
+    0x00b1,
+    0x2017,
+    0x00be,
+    0x00b6,
+    0x00a7,
+    0x00f7,
+    0x00b8,
+    0x00b0,
+    0x00a8,
+    0x00b7,
+    0x00b9,
+    0x00b3,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xc3\xac",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc3\xbf",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xb8",
+    "\xc2\xa3",
+    "\xc3\x98",
+    "\xc3\x97",
+    "\xc6\x92",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xbf",
+    "\xc2\xae",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x80",
+    "\xc2\xa9",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xc2\xa2",
+    "\xc2\xa5",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xc3\xa3",
+    "\xc3\x83",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xc2\xa4",
+    "\xc3\xb0",
+    "\xc3\x90",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc4\xb1",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xc2\xa6",
+    "\xc3\x8c",
+    "\xe2\x96\x80",
+    "\xc3\x93",
+    "\xc3\x9f",
+    "\xc3\x94",
+    "\xc3\x92",
+    "\xc3\xb5",
+    "\xc3\x95",
+    "\xc2\xb5",
+    "\xc3\xbe",
+    "\xc3\x9e",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc3\xbd",
+    "\xc3\x9d",
+    "\xc2\xaf",
+    "\xc2\xb4",
+    "\xc2\xad",
+    "\xc2\xb1",
+    "\xe2\x80\x97",
+    "\xc2\xbe",
+    "\xc2\xb6",
+    "\xc2\xa7",
+    "\xc3\xb7",
+    "\xc2\xb8",
+    "\xc2\xb0",
+    "\xc2\xa8",
+    "\xc2\xb7",
+    "\xc2\xb9",
+    "\xc2\xb3",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\xbd",
+    0x000000a3 => "\x9c",
+    0x000000a4 => "\xcf",
+    0x000000a5 => "\xbe",
+    0x000000a6 => "\xdd",
+    0x000000a7 => "\xf5",
+    0x000000a8 => "\xf9",
+    0x000000a9 => "\xb8",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000ad => "\xf0",
+    0x000000ae => "\xa9",
+    0x000000af => "\xee",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b3 => "\xfc",
+    0x000000b4 => "\xef",
+    0x000000b5 => "\xe6",
+    0x000000b6 => "\xf4",
+    0x000000b7 => "\xfa",
+    0x000000b8 => "\xf7",
+    0x000000b9 => "\xfb",
+    0x000000ba => "\xa7",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000be => "\xf3",
+    0x000000bf => "\xa8",
+    0x000000c0 => "\xb7",
+    0x000000c1 => "\xb5",
+    0x000000c2 => "\xb6",
+    0x000000c3 => "\xc7",
+    0x000000c4 => "\x8e",
+    0x000000c5 => "\x8f",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c8 => "\xd4",
+    0x000000c9 => "\x90",
+    0x000000ca => "\xd2",
+    0x000000cb => "\xd3",
+    0x000000cc => "\xde",
+    0x000000cd => "\xd6",
+    0x000000ce => "\xd7",
+    0x000000cf => "\xd8",
+    0x000000d0 => "\xd1",
+    0x000000d1 => "\xa5",
+    0x000000d2 => "\xe3",
+    0x000000d3 => "\xe0",
+    0x000000d4 => "\xe2",
+    0x000000d5 => "\xe5",
+    0x000000d6 => "\x99",
+    0x000000d7 => "\x9e",
+    0x000000d8 => "\x9d",
+    0x000000d9 => "\xeb",
+    0x000000da => "\xe9",
+    0x000000db => "\xea",
+    0x000000dc => "\x9a",
+    0x000000dd => "\xed",
+    0x000000de => "\xe8",
+    0x000000df => "\xe1",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e3 => "\xc6",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ec => "\x8d",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f0 => "\xd0",
+    0x000000f1 => "\xa4",
+    0x000000f2 => "\x95",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f5 => "\xe4",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f8 => "\x9b",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000000fd => "\xec",
+    0x000000fe => "\xe7",
+    0x000000ff => "\x98",
+    0x00000131 => "\xd5",
+    0x00000192 => "\x9f",
+    0x00002017 => "\xf2",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002554 => "\xc9",
+    0x00002557 => "\xbb",
+    0x0000255a => "\xc8",
+    0x0000255d => "\xbc",
+    0x00002560 => "\xcc",
+    0x00002563 => "\xb9",
+    0x00002566 => "\xcb",
+    0x00002569 => "\xca",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM850 - Conversion routines for IBM850
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM850.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+  source: UNICODE 1.0
+ alias CP850
+ alias 850
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    9C |  000000A3 | POUND SIGN
+    9D |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    9E |  000000D7 | MULTIPLICATION SIGN
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  000000AE | REGISTERED SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    B6 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    B7 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    B8 |  000000A9 | COPYRIGHT SIGN
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  000000A2 | CENT SIGN
+    BE |  000000A5 | YEN SIGN
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    C7 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  000000A4 | CURRENCY SIGN
+    D0 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    D1 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    D2 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    D3 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    D4 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    D5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    D6 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    D7 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    D8 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  000000A6 | BROKEN BAR
+    DE |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    E3 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    E4 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    E5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    E8 |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    E9 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    EA |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    EB |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    EC |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    ED |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    EE |  000000AF | MACRON
+    EF |  000000B4 | ACUTE ACCENT
+    F0 |  000000AD | SOFT HYPHEN
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002017 | DOUBLE LOW LINE
+    F3 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    F4 |  000000B6 | PILCROW SIGN
+    F5 |  000000A7 | SECTION SIGN
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  000000B8 | CEDILLA
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  000000A8 | DIAERESIS
+    FA |  000000B7 | MIDDLE DOT
+    FB |  000000B9 | SUPERSCRIPT ONE
+    FC |  000000B3 | SUPERSCRIPT THREE
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM851.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM851.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM851.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM851.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1145 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM851.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM851.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM851;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x0386,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x0388,
+    0x00c4,
+    0x0389,
+    0x038a,
+    0xfffd,
+    0x038c,
+    0x00f4,
+    0x00f6,
+    0x038e,
+    0x00fb,
+    0x00f9,
+    0x038f,
+    0x00d6,
+    0x00dc,
+    0x03ac,
+    0x00a3,
+    0x03ad,
+    0x03ae,
+    0x03af,
+    0x03ca,
+    0x0390,
+    0x03cc,
+    0x03cd,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x00bd,
+    0x0398,
+    0x0399,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x039a,
+    0x039b,
+    0x039d,
+    0x039c,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x039e,
+    0x039f,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x03a0,
+    0x03a1,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x03a3,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x03b4,
+    0x03b5,
+    0x2580,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c3,
+    0x03c2,
+    0x03c4,
+    0x00b4,
+    0x00ad,
+    0x00b1,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x00a7,
+    0x03c8,
+    0x02db,
+    0x00b0,
+    0x00a8,
+    0x03c9,
+    0x03cb,
+    0x03b0,
+    0x03ce,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xce\x86",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xce\x88",
+    "\xc3\x84",
+    "\xce\x89",
+    "\xce\x8a",
+    "\xef\xbf\xbd",
+    "\xce\x8c",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xce\x8e",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xce\x8f",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xce\xac",
+    "\xc2\xa3",
+    "\xce\xad",
+    "\xce\xae",
+    "\xce\xaf",
+    "\xcf\x8a",
+    "\xce\x90",
+    "\xcf\x8c",
+    "\xcf\x8d",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xc2\xbd",
+    "\xce\x98",
+    "\xce\x99",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9d",
+    "\xce\x9c",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xe2\x96\x80",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xcf\x82",
+    "\xcf\x84",
+    "\xc2\xb4",
+    "\xc2\xad",
+    "\xc2\xb1",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xc2\xa7",
+    "\xcf\x88",
+    "\xcb\x9b",
+    "\xc2\xb0",
+    "\xc2\xa8",
+    "\xcf\x89",
+    "\xcf\x8b",
+    "\xce\xb0",
+    "\xcf\x8e",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a3 => "\x9c",
+    0x000000a7 => "\xf5",
+    0x000000a8 => "\xf9",
+    0x000000ab => "\xae",
+    0x000000ad => "\xf0",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b4 => "\xef",
+    0x000000bb => "\xaf",
+    0x000000bd => "\xab",
+    0x000000c4 => "\x8e",
+    0x000000c7 => "\x80",
+    0x000000d6 => "\x99",
+    0x000000dc => "\x9a",
+    0x000000e0 => "\x85",
+    0x000000e2 => "\x83",
+    0x000000e4 => "\x84",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f4 => "\x93",
+    0x000000f6 => "\x94",
+    0x000000f9 => "\x97",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000002db => "\xf7",
+    0x00000386 => "\x86",
+    0x00000388 => "\x8d",
+    0x00000389 => "\x8f",
+    0x0000038a => "\x90",
+    0x0000038c => "\x92",
+    0x0000038e => "\x95",
+    0x0000038f => "\x98",
+    0x00000390 => "\xa1",
+    0x00000391 => "\xa4",
+    0x00000392 => "\xa5",
+    0x00000393 => "\xa6",
+    0x00000394 => "\xa7",
+    0x00000395 => "\xa8",
+    0x00000396 => "\xa9",
+    0x00000397 => "\xaa",
+    0x00000398 => "\xac",
+    0x00000399 => "\xad",
+    0x0000039a => "\xb5",
+    0x0000039b => "\xb6",
+    0x0000039c => "\xb8",
+    0x0000039d => "\xb7",
+    0x0000039e => "\xbd",
+    0x0000039f => "\xbe",
+    0x000003a0 => "\xc6",
+    0x000003a1 => "\xc7",
+    0x000003a3 => "\xcf",
+    0x000003a4 => "\xd0",
+    0x000003a5 => "\xd1",
+    0x000003a6 => "\xd2",
+    0x000003a7 => "\xd3",
+    0x000003a8 => "\xd4",
+    0x000003a9 => "\xd5",
+    0x000003ac => "\x9b",
+    0x000003ad => "\x9d",
+    0x000003ae => "\x9e",
+    0x000003af => "\x9f",
+    0x000003b0 => "\xfc",
+    0x000003b1 => "\xd6",
+    0x000003b2 => "\xd7",
+    0x000003b3 => "\xd8",
+    0x000003b4 => "\xdd",
+    0x000003b5 => "\xde",
+    0x000003b6 => "\xe0",
+    0x000003b7 => "\xe1",
+    0x000003b8 => "\xe2",
+    0x000003b9 => "\xe3",
+    0x000003ba => "\xe4",
+    0x000003bb => "\xe5",
+    0x000003bc => "\xe6",
+    0x000003bd => "\xe7",
+    0x000003be => "\xe8",
+    0x000003bf => "\xe9",
+    0x000003c0 => "\xea",
+    0x000003c1 => "\xeb",
+    0x000003c2 => "\xed",
+    0x000003c3 => "\xec",
+    0x000003c4 => "\xee",
+    0x000003c5 => "\xf2",
+    0x000003c6 => "\xf3",
+    0x000003c7 => "\xf4",
+    0x000003c8 => "\xf6",
+    0x000003c9 => "\xfa",
+    0x000003ca => "\xa0",
+    0x000003cb => "\xfb",
+    0x000003cc => "\xa2",
+    0x000003cd => "\xa3",
+    0x000003ce => "\xfd",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002554 => "\xc9",
+    0x00002557 => "\xbb",
+    0x0000255a => "\xc8",
+    0x0000255d => "\xbc",
+    0x00002560 => "\xcc",
+    0x00002563 => "\xb9",
+    0x00002566 => "\xcb",
+    0x00002569 => "\xca",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM851 - Conversion routines for IBM851
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM851.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP851
+ alias 851
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
+    90 |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
+    92 |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
+    9C |  000000A3 | POUND SIGN
+    9D |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
+    9E |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
+    9F |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
+    A0 |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
+    A1 |  00000390 | GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+    A2 |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
+    A3 |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
+    A4 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    A5 |  00000392 | GREEK CAPITAL LETTER BETA
+    A6 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    A7 |  00000394 | GREEK CAPITAL LETTER DELTA
+    A8 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    A9 |  00000396 | GREEK CAPITAL LETTER ZETA
+    AA |  00000397 | GREEK CAPITAL LETTER ETA
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  00000398 | GREEK CAPITAL LETTER THETA
+    AD |  00000399 | GREEK CAPITAL LETTER IOTA
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  0000039A | GREEK CAPITAL LETTER KAPPA
+    B6 |  0000039B | GREEK CAPITAL LETTER LAMDA
+    B7 |  0000039D | GREEK CAPITAL LETTER NU
+    B8 |  0000039C | GREEK CAPITAL LETTER MU
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000039E | GREEK CAPITAL LETTER XI
+    BE |  0000039F | GREEK CAPITAL LETTER OMICRON
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  000003A0 | GREEK CAPITAL LETTER PI
+    C7 |  000003A1 | GREEK CAPITAL LETTER RHO
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    D0 |  000003A4 | GREEK CAPITAL LETTER TAU
+    D1 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    D2 |  000003A6 | GREEK CAPITAL LETTER PHI
+    D3 |  000003A7 | GREEK CAPITAL LETTER CHI
+    D4 |  000003A8 | GREEK CAPITAL LETTER PSI
+    D5 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    D6 |  000003B1 | GREEK SMALL LETTER ALPHA
+    D7 |  000003B2 | GREEK SMALL LETTER BETA
+    D8 |  000003B3 | GREEK SMALL LETTER GAMMA
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  000003B4 | GREEK SMALL LETTER DELTA
+    DE |  000003B5 | GREEK SMALL LETTER EPSILON
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B6 | GREEK SMALL LETTER ZETA
+    E1 |  000003B7 | GREEK SMALL LETTER ETA
+    E2 |  000003B8 | GREEK SMALL LETTER THETA
+    E3 |  000003B9 | GREEK SMALL LETTER IOTA
+    E4 |  000003BA | GREEK SMALL LETTER KAPPA
+    E5 |  000003BB | GREEK SMALL LETTER LAMDA
+    E6 |  000003BC | GREEK SMALL LETTER MU
+    E7 |  000003BD | GREEK SMALL LETTER NU
+    E8 |  000003BE | GREEK SMALL LETTER XI
+    E9 |  000003BF | GREEK SMALL LETTER OMICRON
+    EA |  000003C0 | GREEK SMALL LETTER PI
+    EB |  000003C1 | GREEK SMALL LETTER RHO
+    EC |  000003C3 | GREEK SMALL LETTER SIGMA
+    ED |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    EE |  000003C4 | GREEK SMALL LETTER TAU
+    EF |  000000B4 | ACUTE ACCENT
+    F0 |  000000AD | SOFT HYPHEN
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  000003C5 | GREEK SMALL LETTER UPSILON
+    F3 |  000003C6 | GREEK SMALL LETTER PHI
+    F4 |  000003C7 | GREEK SMALL LETTER CHI
+    F5 |  000000A7 | SECTION SIGN
+    F6 |  000003C8 | GREEK SMALL LETTER PSI
+    F7 |  000002DB | OGONEK
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  000000A8 | DIAERESIS
+    FA |  000003C9 | GREEK SMALL LETTER OMEGA
+    FB |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+    FC |  000003B0 | GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+    FD |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM852.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM852.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM852.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM852.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM852.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM852.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM852;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x016f,
+    0x0107,
+    0x00e7,
+    0x0142,
+    0x00eb,
+    0x0150,
+    0x0151,
+    0x00ee,
+    0x0179,
+    0x00c4,
+    0x0106,
+    0x00c9,
+    0x0139,
+    0x013a,
+    0x00f4,
+    0x00f6,
+    0x013d,
+    0x013e,
+    0x015a,
+    0x015b,
+    0x00d6,
+    0x00dc,
+    0x0164,
+    0x0165,
+    0x0141,
+    0x00d7,
+    0x010d,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x0104,
+    0x0105,
+    0x017d,
+    0x017e,
+    0x0118,
+    0x0119,
+    0x00ac,
+    0x017a,
+    0x010c,
+    0x015f,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x00c1,
+    0x00c2,
+    0x011a,
+    0x015e,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x017b,
+    0x017c,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x0102,
+    0x0103,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x00a4,
+    0x0111,
+    0x0110,
+    0x010e,
+    0x00cb,
+    0x010f,
+    0x0147,
+    0x00cd,
+    0x00ce,
+    0x011b,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x0162,
+    0x016e,
+    0x2580,
+    0x00d3,
+    0x00df,
+    0x00d4,
+    0x0143,
+    0x0144,
+    0x0148,
+    0x0160,
+    0x0161,
+    0x0154,
+    0x00da,
+    0x0155,
+    0x0170,
+    0x00fd,
+    0x00dd,
+    0x0163,
+    0x00b4,
+    0x00ad,
+    0x02dd,
+    0x02db,
+    0x02c7,
+    0x02d8,
+    0x00a7,
+    0x00f7,
+    0x00b8,
+    0x00b0,
+    0x00a8,
+    0x02d9,
+    0x0171,
+    0x0158,
+    0x0159,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc5\xaf",
+    "\xc4\x87",
+    "\xc3\xa7",
+    "\xc5\x82",
+    "\xc3\xab",
+    "\xc5\x90",
+    "\xc5\x91",
+    "\xc3\xae",
+    "\xc5\xb9",
+    "\xc3\x84",
+    "\xc4\x86",
+    "\xc3\x89",
+    "\xc4\xb9",
+    "\xc4\xba",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc4\xbd",
+    "\xc4\xbe",
+    "\xc5\x9a",
+    "\xc5\x9b",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc5\xa4",
+    "\xc5\xa5",
+    "\xc5\x81",
+    "\xc3\x97",
+    "\xc4\x8d",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc4\x84",
+    "\xc4\x85",
+    "\xc5\xbd",
+    "\xc5\xbe",
+    "\xc4\x98",
+    "\xc4\x99",
+    "\xc2\xac",
+    "\xc5\xba",
+    "\xc4\x8c",
+    "\xc5\x9f",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc4\x9a",
+    "\xc5\x9e",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xc5\xbb",
+    "\xc5\xbc",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xc4\x82",
+    "\xc4\x83",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xc2\xa4",
+    "\xc4\x91",
+    "\xc4\x90",
+    "\xc4\x8e",
+    "\xc3\x8b",
+    "\xc4\x8f",
+    "\xc5\x87",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc4\x9b",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xc5\xa2",
+    "\xc5\xae",
+    "\xe2\x96\x80",
+    "\xc3\x93",
+    "\xc3\x9f",
+    "\xc3\x94",
+    "\xc5\x83",
+    "\xc5\x84",
+    "\xc5\x88",
+    "\xc5\xa0",
+    "\xc5\xa1",
+    "\xc5\x94",
+    "\xc3\x9a",
+    "\xc5\x95",
+    "\xc5\xb0",
+    "\xc3\xbd",
+    "\xc3\x9d",
+    "\xc5\xa3",
+    "\xc2\xb4",
+    "\xc2\xad",
+    "\xcb\x9d",
+    "\xcb\x9b",
+    "\xcb\x87",
+    "\xcb\x98",
+    "\xc2\xa7",
+    "\xc3\xb7",
+    "\xc2\xb8",
+    "\xc2\xb0",
+    "\xc2\xa8",
+    "\xcb\x99",
+    "\xc5\xb1",
+    "\xc5\x98",
+    "\xc5\x99",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a4 => "\xcf",
+    0x000000a7 => "\xf5",
+    0x000000a8 => "\xf9",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000ad => "\xf0",
+    0x000000b0 => "\xf8",
+    0x000000b4 => "\xef",
+    0x000000b8 => "\xf7",
+    0x000000bb => "\xaf",
+    0x000000c1 => "\xb5",
+    0x000000c2 => "\xb6",
+    0x000000c4 => "\x8e",
+    0x000000c7 => "\x80",
+    0x000000c9 => "\x90",
+    0x000000cb => "\xd3",
+    0x000000cd => "\xd6",
+    0x000000ce => "\xd7",
+    0x000000d3 => "\xe0",
+    0x000000d4 => "\xe2",
+    0x000000d6 => "\x99",
+    0x000000d7 => "\x9e",
+    0x000000da => "\xe9",
+    0x000000dc => "\x9a",
+    0x000000dd => "\xed",
+    0x000000df => "\xe1",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e4 => "\x84",
+    0x000000e7 => "\x87",
+    0x000000e9 => "\x82",
+    0x000000eb => "\x89",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000fa => "\xa3",
+    0x000000fc => "\x81",
+    0x000000fd => "\xec",
+    0x00000102 => "\xc6",
+    0x00000103 => "\xc7",
+    0x00000104 => "\xa4",
+    0x00000105 => "\xa5",
+    0x00000106 => "\x8f",
+    0x00000107 => "\x86",
+    0x0000010c => "\xac",
+    0x0000010d => "\x9f",
+    0x0000010e => "\xd2",
+    0x0000010f => "\xd4",
+    0x00000110 => "\xd1",
+    0x00000111 => "\xd0",
+    0x00000118 => "\xa8",
+    0x00000119 => "\xa9",
+    0x0000011a => "\xb7",
+    0x0000011b => "\xd8",
+    0x00000139 => "\x91",
+    0x0000013a => "\x92",
+    0x0000013d => "\x95",
+    0x0000013e => "\x96",
+    0x00000141 => "\x9d",
+    0x00000142 => "\x88",
+    0x00000143 => "\xe3",
+    0x00000144 => "\xe4",
+    0x00000147 => "\xd5",
+    0x00000148 => "\xe5",
+    0x00000150 => "\x8a",
+    0x00000151 => "\x8b",
+    0x00000154 => "\xe8",
+    0x00000155 => "\xea",
+    0x00000158 => "\xfc",
+    0x00000159 => "\xfd",
+    0x0000015a => "\x97",
+    0x0000015b => "\x98",
+    0x0000015e => "\xb8",
+    0x0000015f => "\xad",
+    0x00000160 => "\xe6",
+    0x00000161 => "\xe7",
+    0x00000162 => "\xdd",
+    0x00000163 => "\xee",
+    0x00000164 => "\x9b",
+    0x00000165 => "\x9c",
+    0x0000016e => "\xde",
+    0x0000016f => "\x85",
+    0x00000170 => "\xeb",
+    0x00000171 => "\xfb",
+    0x00000179 => "\x8d",
+    0x0000017a => "\xab",
+    0x0000017b => "\xbd",
+    0x0000017c => "\xbe",
+    0x0000017d => "\xa6",
+    0x0000017e => "\xa7",
+    0x000002c7 => "\xf3",
+    0x000002d8 => "\xf4",
+    0x000002d9 => "\xfa",
+    0x000002db => "\xf2",
+    0x000002dd => "\xf1",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002554 => "\xc9",
+    0x00002557 => "\xbb",
+    0x0000255a => "\xc8",
+    0x0000255d => "\xbc",
+    0x00002560 => "\xcc",
+    0x00002563 => "\xb9",
+    0x00002566 => "\xcb",
+    0x00002569 => "\xca",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM852 - Conversion routines for IBM852
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM852.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP852
+ alias 852
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  0000016F | LATIN SMALL LETTER U WITH RING ABOVE
+    86 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+    8B |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  00000139 | LATIN CAPITAL LETTER L WITH ACUTE
+    92 |  0000013A | LATIN SMALL LETTER L WITH ACUTE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  0000013D | LATIN CAPITAL LETTER L WITH CARON
+    96 |  0000013E | LATIN SMALL LETTER L WITH CARON
+    97 |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    98 |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  00000164 | LATIN CAPITAL LETTER T WITH CARON
+    9C |  00000165 | LATIN SMALL LETTER T WITH CARON
+    9D |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    9E |  000000D7 | MULTIPLICATION SIGN
+    9F |  0000010D | LATIN SMALL LETTER C WITH CARON
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    A5 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    A6 |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    A7 |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    A8 |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    A9 |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    AA |  000000AC | NOT SIGN
+    AB |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    AC |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    AD |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    B6 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    B7 |  0000011A | LATIN CAPITAL LETTER E WITH CARON
+    B8 |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    BE |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
+    C7 |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  000000A4 | CURRENCY SIGN
+    D0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    D1 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D2 |  0000010E | LATIN CAPITAL LETTER D WITH CARON
+    D3 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    D4 |  0000010F | LATIN SMALL LETTER D WITH CARON
+    D5 |  00000147 | LATIN CAPITAL LETTER N WITH CARON
+    D6 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    D7 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    D8 |  0000011B | LATIN SMALL LETTER E WITH CARON
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  00000162 | LATIN CAPITAL LETTER T WITH CEDILLA
+    DE |  0000016E | LATIN CAPITAL LETTER U WITH RING ABOVE
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    E3 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    E4 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    E5 |  00000148 | LATIN SMALL LETTER N WITH CARON
+    E6 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    E7 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    E8 |  00000154 | LATIN CAPITAL LETTER R WITH ACUTE
+    E9 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    EA |  00000155 | LATIN SMALL LETTER R WITH ACUTE
+    EB |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+    EC |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    ED |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    EE |  00000163 | LATIN SMALL LETTER T WITH CEDILLA
+    EF |  000000B4 | ACUTE ACCENT
+    F0 |  000000AD | SOFT HYPHEN
+    F1 |  000002DD | DOUBLE ACUTE ACCENT
+    F2 |  000002DB | OGONEK
+    F3 |  000002C7 | CARON (Mandarin Chinese third tone)
+    F4 |  000002D8 | BREVE
+    F5 |  000000A7 | SECTION SIGN
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  000000B8 | CEDILLA
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  000000A8 | DIAERESIS
+    FA |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+    FB |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
+    FC |  00000158 | LATIN CAPITAL LETTER R WITH CARON
+    FD |  00000159 | LATIN SMALL LETTER R WITH CARON
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM855.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM855.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM855.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM855.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM855.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM855.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM855;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0452,
+    0x0402,
+    0x0453,
+    0x0403,
+    0x0451,
+    0x0401,
+    0x0454,
+    0x0404,
+    0x0455,
+    0x0405,
+    0x0456,
+    0x0406,
+    0x0457,
+    0x0407,
+    0x0458,
+    0x0408,
+    0x0459,
+    0x0409,
+    0x045a,
+    0x040a,
+    0x045b,
+    0x040b,
+    0x045c,
+    0x040c,
+    0x045e,
+    0x040e,
+    0x045f,
+    0x040f,
+    0x044e,
+    0x042e,
+    0x044a,
+    0x042a,
+    0x0430,
+    0x0410,
+    0x0431,
+    0x0411,
+    0x0446,
+    0x0426,
+    0x0434,
+    0x0414,
+    0x0435,
+    0x0415,
+    0x0444,
+    0x0424,
+    0x0433,
+    0x0413,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x0445,
+    0x0425,
+    0x0438,
+    0x0418,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x0439,
+    0x0419,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x043a,
+    0x041a,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x00a4,
+    0x043b,
+    0x041b,
+    0x043c,
+    0x041c,
+    0x043d,
+    0x041d,
+    0x043e,
+    0x041e,
+    0x043f,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x041f,
+    0x044f,
+    0x2580,
+    0x042f,
+    0x0440,
+    0x0420,
+    0x0441,
+    0x0421,
+    0x0442,
+    0x0422,
+    0x0443,
+    0x0423,
+    0x0436,
+    0x0416,
+    0x0432,
+    0x0412,
+    0x044c,
+    0x042c,
+    0x2116,
+    0x00ad,
+    0x044b,
+    0x042b,
+    0x0437,
+    0x0417,
+    0x0448,
+    0x0428,
+    0x044d,
+    0x042d,
+    0x0449,
+    0x0429,
+    0x0447,
+    0x0427,
+    0x00a7,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd1\x92",
+    "\xd0\x82",
+    "\xd1\x93",
+    "\xd0\x83",
+    "\xd1\x91",
+    "\xd0\x81",
+    "\xd1\x94",
+    "\xd0\x84",
+    "\xd1\x95",
+    "\xd0\x85",
+    "\xd1\x96",
+    "\xd0\x86",
+    "\xd1\x97",
+    "\xd0\x87",
+    "\xd1\x98",
+    "\xd0\x88",
+    "\xd1\x99",
+    "\xd0\x89",
+    "\xd1\x9a",
+    "\xd0\x8a",
+    "\xd1\x9b",
+    "\xd0\x8b",
+    "\xd1\x9c",
+    "\xd0\x8c",
+    "\xd1\x9e",
+    "\xd0\x8e",
+    "\xd1\x9f",
+    "\xd0\x8f",
+    "\xd1\x8e",
+    "\xd0\xae",
+    "\xd1\x8a",
+    "\xd0\xaa",
+    "\xd0\xb0",
+    "\xd0\x90",
+    "\xd0\xb1",
+    "\xd0\x91",
+    "\xd1\x86",
+    "\xd0\xa6",
+    "\xd0\xb4",
+    "\xd0\x94",
+    "\xd0\xb5",
+    "\xd0\x95",
+    "\xd1\x84",
+    "\xd0\xa4",
+    "\xd0\xb3",
+    "\xd0\x93",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xd1\x85",
+    "\xd0\xa5",
+    "\xd0\xb8",
+    "\xd0\x98",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xd0\xb9",
+    "\xd0\x99",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xd0\xba",
+    "\xd0\x9a",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xc2\xa4",
+    "\xd0\xbb",
+    "\xd0\x9b",
+    "\xd0\xbc",
+    "\xd0\x9c",
+    "\xd0\xbd",
+    "\xd0\x9d",
+    "\xd0\xbe",
+    "\xd0\x9e",
+    "\xd0\xbf",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xd0\x9f",
+    "\xd1\x8f",
+    "\xe2\x96\x80",
+    "\xd0\xaf",
+    "\xd1\x80",
+    "\xd0\xa0",
+    "\xd1\x81",
+    "\xd0\xa1",
+    "\xd1\x82",
+    "\xd0\xa2",
+    "\xd1\x83",
+    "\xd0\xa3",
+    "\xd0\xb6",
+    "\xd0\x96",
+    "\xd0\xb2",
+    "\xd0\x92",
+    "\xd1\x8c",
+    "\xd0\xac",
+    "\xe2\x84\x96",
+    "\xc2\xad",
+    "\xd1\x8b",
+    "\xd0\xab",
+    "\xd0\xb7",
+    "\xd0\x97",
+    "\xd1\x88",
+    "\xd0\xa8",
+    "\xd1\x8d",
+    "\xd0\xad",
+    "\xd1\x89",
+    "\xd0\xa9",
+    "\xd1\x87",
+    "\xd0\xa7",
+    "\xc2\xa7",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a4 => "\xcf",
+    0x000000a7 => "\xfd",
+    0x000000ab => "\xae",
+    0x000000ad => "\xf0",
+    0x000000bb => "\xaf",
+    0x00000401 => "\x85",
+    0x00000402 => "\x81",
+    0x00000403 => "\x83",
+    0x00000404 => "\x87",
+    0x00000405 => "\x89",
+    0x00000406 => "\x8b",
+    0x00000407 => "\x8d",
+    0x00000408 => "\x8f",
+    0x00000409 => "\x91",
+    0x0000040a => "\x93",
+    0x0000040b => "\x95",
+    0x0000040c => "\x97",
+    0x0000040e => "\x99",
+    0x0000040f => "\x9b",
+    0x00000410 => "\xa1",
+    0x00000411 => "\xa3",
+    0x00000412 => "\xec",
+    0x00000413 => "\xad",
+    0x00000414 => "\xa7",
+    0x00000415 => "\xa9",
+    0x00000416 => "\xea",
+    0x00000417 => "\xf4",
+    0x00000418 => "\xb8",
+    0x00000419 => "\xbe",
+    0x0000041a => "\xc7",
+    0x0000041b => "\xd1",
+    0x0000041c => "\xd3",
+    0x0000041d => "\xd5",
+    0x0000041e => "\xd7",
+    0x0000041f => "\xdd",
+    0x00000420 => "\xe2",
+    0x00000421 => "\xe4",
+    0x00000422 => "\xe6",
+    0x00000423 => "\xe8",
+    0x00000424 => "\xab",
+    0x00000425 => "\xb6",
+    0x00000426 => "\xa5",
+    0x00000427 => "\xfc",
+    0x00000428 => "\xf6",
+    0x00000429 => "\xfa",
+    0x0000042a => "\x9f",
+    0x0000042b => "\xf2",
+    0x0000042c => "\xee",
+    0x0000042d => "\xf8",
+    0x0000042e => "\x9d",
+    0x0000042f => "\xe0",
+    0x00000430 => "\xa0",
+    0x00000431 => "\xa2",
+    0x00000432 => "\xeb",
+    0x00000433 => "\xac",
+    0x00000434 => "\xa6",
+    0x00000435 => "\xa8",
+    0x00000436 => "\xe9",
+    0x00000437 => "\xf3",
+    0x00000438 => "\xb7",
+    0x00000439 => "\xbd",
+    0x0000043a => "\xc6",
+    0x0000043b => "\xd0",
+    0x0000043c => "\xd2",
+    0x0000043d => "\xd4",
+    0x0000043e => "\xd6",
+    0x0000043f => "\xd8",
+    0x00000440 => "\xe1",
+    0x00000441 => "\xe3",
+    0x00000442 => "\xe5",
+    0x00000443 => "\xe7",
+    0x00000444 => "\xaa",
+    0x00000445 => "\xb5",
+    0x00000446 => "\xa4",
+    0x00000447 => "\xfb",
+    0x00000448 => "\xf5",
+    0x00000449 => "\xf9",
+    0x0000044a => "\x9e",
+    0x0000044b => "\xf1",
+    0x0000044c => "\xed",
+    0x0000044d => "\xf7",
+    0x0000044e => "\x9c",
+    0x0000044f => "\xde",
+    0x00000451 => "\x84",
+    0x00000452 => "\x80",
+    0x00000453 => "\x82",
+    0x00000454 => "\x86",
+    0x00000455 => "\x88",
+    0x00000456 => "\x8a",
+    0x00000457 => "\x8c",
+    0x00000458 => "\x8e",
+    0x00000459 => "\x90",
+    0x0000045a => "\x92",
+    0x0000045b => "\x94",
+    0x0000045c => "\x96",
+    0x0000045e => "\x98",
+    0x0000045f => "\x9a",
+    0x00002116 => "\xef",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002554 => "\xc9",
+    0x00002557 => "\xbb",
+    0x0000255a => "\xc8",
+    0x0000255d => "\xbc",
+    0x00002560 => "\xcc",
+    0x00002563 => "\xb9",
+    0x00002566 => "\xcb",
+    0x00002569 => "\xca",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM855 - Conversion routines for IBM855
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM855.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP855
+ alias 855
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000452 | CYRILLIC SMALL LETTER DJE (Serbocroatian)
+    81 |  00000402 | CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
+    82 |  00000453 | CYRILLIC SMALL LETTER GJE
+    83 |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    84 |  00000451 | CYRILLIC SMALL LETTER IO
+    85 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    86 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    87 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    88 |  00000455 | CYRILLIC SMALL LETTER DZE
+    89 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    8A |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    8B |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    8C |  00000457 | CYRILLIC SMALL LETTER YI (Ukrainian)
+    8D |  00000407 | CYRILLIC CAPITAL LETTER YI (Ukrainian)
+    8E |  00000458 | CYRILLIC SMALL LETTER JE
+    8F |  00000408 | CYRILLIC CAPITAL LETTER JE
+    90 |  00000459 | CYRILLIC SMALL LETTER LJE
+    91 |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    92 |  0000045A | CYRILLIC SMALL LETTER NJE
+    93 |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    94 |  0000045B | CYRILLIC SMALL LETTER TSHE (Serbocroatian)
+    95 |  0000040B | CYRILLIC CAPITAL LETTER TSHE
+    96 |  0000045C | CYRILLIC SMALL LETTER KJE
+    97 |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    98 |  0000045E | CYRILLIC SMALL LETTER SHORT U (Byelorussian)
+    99 |  0000040E | CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
+    9A |  0000045F | CYRILLIC SMALL LETTER DZHE
+    9B |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    9C |  0000044E | CYRILLIC SMALL LETTER YU
+    9D |  0000042E | CYRILLIC CAPITAL LETTER YU
+    9E |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    9F |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    A0 |  00000430 | CYRILLIC SMALL LETTER A
+    A1 |  00000410 | CYRILLIC CAPITAL LETTER A
+    A2 |  00000431 | CYRILLIC SMALL LETTER BE
+    A3 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    A4 |  00000446 | CYRILLIC SMALL LETTER TSE
+    A5 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    A6 |  00000434 | CYRILLIC SMALL LETTER DE
+    A7 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    A8 |  00000435 | CYRILLIC SMALL LETTER IE
+    A9 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    AA |  00000444 | CYRILLIC SMALL LETTER EF
+    AB |  00000424 | CYRILLIC CAPITAL LETTER EF
+    AC |  00000433 | CYRILLIC SMALL LETTER GHE
+    AD |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00000445 | CYRILLIC SMALL LETTER HA
+    B6 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    B7 |  00000438 | CYRILLIC SMALL LETTER I
+    B8 |  00000418 | CYRILLIC CAPITAL LETTER I
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    BE |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000043A | CYRILLIC SMALL LETTER KA
+    C7 |  0000041A | CYRILLIC CAPITAL LETTER KA
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  000000A4 | CURRENCY SIGN
+    D0 |  0000043B | CYRILLIC SMALL LETTER EL
+    D1 |  0000041B | CYRILLIC CAPITAL LETTER EL
+    D2 |  0000043C | CYRILLIC SMALL LETTER EM
+    D3 |  0000041C | CYRILLIC CAPITAL LETTER EM
+    D4 |  0000043D | CYRILLIC SMALL LETTER EN
+    D5 |  0000041D | CYRILLIC CAPITAL LETTER EN
+    D6 |  0000043E | CYRILLIC SMALL LETTER O
+    D7 |  0000041E | CYRILLIC CAPITAL LETTER O
+    D8 |  0000043F | CYRILLIC SMALL LETTER PE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000041F | CYRILLIC CAPITAL LETTER PE
+    DE |  0000044F | CYRILLIC SMALL LETTER YA
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    E1 |  00000440 | CYRILLIC SMALL LETTER ER
+    E2 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    E3 |  00000441 | CYRILLIC SMALL LETTER ES
+    E4 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    E5 |  00000442 | CYRILLIC SMALL LETTER TE
+    E6 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    E7 |  00000443 | CYRILLIC SMALL LETTER U
+    E8 |  00000423 | CYRILLIC CAPITAL LETTER U
+    E9 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    EA |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    EB |  00000432 | CYRILLIC SMALL LETTER VE
+    EC |  00000412 | CYRILLIC CAPITAL LETTER VE
+    ED |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    EE |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    EF |  00002116 | NUMERO SIGN
+    F0 |  000000AD | SOFT HYPHEN
+    F1 |  0000044B | CYRILLIC SMALL LETTER YERU
+    F2 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    F3 |  00000437 | CYRILLIC SMALL LETTER ZE
+    F4 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    F5 |  00000448 | CYRILLIC SMALL LETTER SHA
+    F6 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    F7 |  0000044D | CYRILLIC SMALL LETTER E
+    F8 |  0000042D | CYRILLIC CAPITAL LETTER E
+    F9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    FA |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FB |  00000447 | CYRILLIC SMALL LETTER CHE
+    FC |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    FD |  000000A7 | SECTION SIGN
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM857.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM857.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM857.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM857.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1141 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM857.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM857.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM857;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x0131,
+    0x00c4,
+    0x00c5,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00fb,
+    0x00f9,
+    0x0130,
+    0x00d6,
+    0x00dc,
+    0x00f8,
+    0x00a3,
+    0x00d8,
+    0x015e,
+    0x015f,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x011e,
+    0x011f,
+    0x00bf,
+    0x00ae,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x00c1,
+    0x00c2,
+    0x00c0,
+    0x00a9,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x00a2,
+    0x00a5,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x00e3,
+    0x00c3,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x00a4,
+    0x00ba,
+    0x00aa,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0xfffd,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x00a6,
+    0x00cc,
+    0x2580,
+    0x00d3,
+    0x00df,
+    0x00d4,
+    0x00d2,
+    0x00f5,
+    0x00d5,
+    0x00b5,
+    0xfffd,
+    0x00d7,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x00ec,
+    0x00ff,
+    0x00af,
+    0x00b4,
+    0x00ad,
+    0x00b1,
+    0xfffd,
+    0x00be,
+    0x00b6,
+    0x00a7,
+    0x00f7,
+    0x00b8,
+    0x00b0,
+    0x00a8,
+    0x00b7,
+    0x00b9,
+    0x00b3,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xc4\xb1",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc4\xb0",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xb8",
+    "\xc2\xa3",
+    "\xc3\x98",
+    "\xc5\x9e",
+    "\xc5\x9f",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc4\x9e",
+    "\xc4\x9f",
+    "\xc2\xbf",
+    "\xc2\xae",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x80",
+    "\xc2\xa9",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xc2\xa2",
+    "\xc2\xa5",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xc3\xa3",
+    "\xc3\x83",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xc2\xa4",
+    "\xc2\xba",
+    "\xc2\xaa",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xef\xbf\xbd",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xc2\xa6",
+    "\xc3\x8c",
+    "\xe2\x96\x80",
+    "\xc3\x93",
+    "\xc3\x9f",
+    "\xc3\x94",
+    "\xc3\x92",
+    "\xc3\xb5",
+    "\xc3\x95",
+    "\xc2\xb5",
+    "\xef\xbf\xbd",
+    "\xc3\x97",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc3\xac",
+    "\xc3\xbf",
+    "\xc2\xaf",
+    "\xc2\xb4",
+    "\xc2\xad",
+    "\xc2\xb1",
+    "\xef\xbf\xbd",
+    "\xc2\xbe",
+    "\xc2\xb6",
+    "\xc2\xa7",
+    "\xc3\xb7",
+    "\xc2\xb8",
+    "\xc2\xb0",
+    "\xc2\xa8",
+    "\xc2\xb7",
+    "\xc2\xb9",
+    "\xc2\xb3",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\xbd",
+    0x000000a3 => "\x9c",
+    0x000000a4 => "\xcf",
+    0x000000a5 => "\xbe",
+    0x000000a6 => "\xdd",
+    0x000000a7 => "\xf5",
+    0x000000a8 => "\xf9",
+    0x000000a9 => "\xb8",
+    0x000000aa => "\xd1",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000ad => "\xf0",
+    0x000000ae => "\xa9",
+    0x000000af => "\xee",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b3 => "\xfc",
+    0x000000b4 => "\xef",
+    0x000000b5 => "\xe6",
+    0x000000b6 => "\xf4",
+    0x000000b7 => "\xfa",
+    0x000000b8 => "\xf7",
+    0x000000b9 => "\xfb",
+    0x000000ba => "\xd0",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000be => "\xf3",
+    0x000000bf => "\xa8",
+    0x000000c0 => "\xb7",
+    0x000000c1 => "\xb5",
+    0x000000c2 => "\xb6",
+    0x000000c3 => "\xc7",
+    0x000000c4 => "\x8e",
+    0x000000c5 => "\x8f",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c8 => "\xd4",
+    0x000000c9 => "\x90",
+    0x000000ca => "\xd2",
+    0x000000cb => "\xd3",
+    0x000000cc => "\xde",
+    0x000000cd => "\xd6",
+    0x000000ce => "\xd7",
+    0x000000cf => "\xd8",
+    0x000000d1 => "\xa5",
+    0x000000d2 => "\xe3",
+    0x000000d3 => "\xe0",
+    0x000000d4 => "\xe2",
+    0x000000d5 => "\xe5",
+    0x000000d6 => "\x99",
+    0x000000d7 => "\xe8",
+    0x000000d8 => "\x9d",
+    0x000000d9 => "\xeb",
+    0x000000da => "\xe9",
+    0x000000db => "\xea",
+    0x000000dc => "\x9a",
+    0x000000df => "\xe1",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e3 => "\xc6",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ec => "\xec",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f1 => "\xa4",
+    0x000000f2 => "\x95",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f5 => "\xe4",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f8 => "\x9b",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000000ff => "\xed",
+    0x0000011e => "\xa6",
+    0x0000011f => "\xa7",
+    0x00000130 => "\x98",
+    0x00000131 => "\x8d",
+    0x0000015e => "\x9e",
+    0x0000015f => "\x9f",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002554 => "\xc9",
+    0x00002557 => "\xbb",
+    0x0000255a => "\xc8",
+    0x0000255d => "\xbc",
+    0x00002560 => "\xcc",
+    0x00002563 => "\xb9",
+    0x00002566 => "\xcb",
+    0x00002569 => "\xca",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM857 - Conversion routines for IBM857
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM857.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP857
+ alias 857
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  00000131 | LATIN SMALL LETTER DOTLESS I
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    9C |  000000A3 | POUND SIGN
+    9D |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    9E |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    9F |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  0000011E | LATIN CAPITAL LETTER G WITH BREVE
+    A7 |  0000011F | LATIN SMALL LETTER G WITH BREVE
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  000000AE | REGISTERED SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    B6 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    B7 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    B8 |  000000A9 | COPYRIGHT SIGN
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  000000A2 | CENT SIGN
+    BE |  000000A5 | YEN SIGN
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    C7 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  000000A4 | CURRENCY SIGN
+    D0 |  000000BA | MASCULINE ORDINAL INDICATOR
+    D1 |  000000AA | FEMININE ORDINAL INDICATOR
+    D2 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    D3 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    D4 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    D6 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    D7 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    D8 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  000000A6 | BROKEN BAR
+    DE |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    E3 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    E4 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    E5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    E6 |  000000B5 | MICRO SIGN
+    E8 |  000000D7 | MULTIPLICATION SIGN
+    E9 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    EA |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    EB |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    EE |  000000AF | MACRON
+    EF |  000000B4 | ACUTE ACCENT
+    F0 |  000000AD | SOFT HYPHEN
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F3 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    F4 |  000000B6 | PILCROW SIGN
+    F5 |  000000A7 | SECTION SIGN
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  000000B8 | CEDILLA
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  000000A8 | DIAERESIS
+    FA |  000000B7 | MIDDLE DOT
+    FB |  000000B9 | SUPERSCRIPT ONE
+    FC |  000000B3 | SUPERSCRIPT THREE
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM860.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM860.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM860.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM860.pm   12 Oct 2011 
23:51:38 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM860.pm,v 1.1 2011/10/12 23:51:38 pertusus Exp $
+
+# Conversion routines for IBM860.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM860;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e3,
+    0x00e0,
+    0x00c1,
+    0x00e7,
+    0x00ea,
+    0x00ca,
+    0x00e8,
+    0x00cd,
+    0x00d4,
+    0x00ec,
+    0x00c3,
+    0x00c2,
+    0x00c9,
+    0x00c0,
+    0x00c8,
+    0x00f4,
+    0x00f5,
+    0x00f2,
+    0x00da,
+    0x00f9,
+    0x00cc,
+    0x00d5,
+    0x00dc,
+    0x00a2,
+    0x00a3,
+    0x00d9,
+    0x20a7,
+    0x00d3,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x00ba,
+    0x00bf,
+    0x00d2,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x03b1,
+    0x00df,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x0398,
+    0x03a9,
+    0x03b4,
+    0x221e,
+    0x03c6,
+    0x03b5,
+    0x2229,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2219,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa0",
+    "\xc3\x81",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\x8a",
+    "\xc3\xa8",
+    "\xc3\x8d",
+    "\xc3\x94",
+    "\xc3\xac",
+    "\xc3\x83",
+    "\xc3\x82",
+    "\xc3\x89",
+    "\xc3\x80",
+    "\xc3\x88",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb2",
+    "\xc3\x9a",
+    "\xc3\xb9",
+    "\xc3\x8c",
+    "\xc3\x95",
+    "\xc3\x9c",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc3\x99",
+    "\xe2\x82\xa7",
+    "\xc3\x93",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xbf",
+    "\xc3\x92",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xce\xb1",
+    "\xc3\x9f",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\x9e",
+    "\xcf\x86",
+    "\xce\xb5",
+    "\xe2\x88\xa9",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x88\x99",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\x9b",
+    0x000000a3 => "\x9c",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b5 => "\xe6",
+    0x000000b7 => "\xfa",
+    0x000000ba => "\xa7",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000c0 => "\x91",
+    0x000000c1 => "\x86",
+    0x000000c2 => "\x8f",
+    0x000000c3 => "\x8e",
+    0x000000c7 => "\x80",
+    0x000000c8 => "\x92",
+    0x000000c9 => "\x90",
+    0x000000ca => "\x89",
+    0x000000cc => "\x98",
+    0x000000cd => "\x8b",
+    0x000000d1 => "\xa5",
+    0x000000d2 => "\xa9",
+    0x000000d3 => "\x9f",
+    0x000000d4 => "\x8c",
+    0x000000d5 => "\x99",
+    0x000000d9 => "\x9d",
+    0x000000da => "\x96",
+    0x000000dc => "\x9a",
+    0x000000df => "\xe1",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e3 => "\x84",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000ec => "\x8d",
+    0x000000ed => "\xa1",
+    0x000000f1 => "\xa4",
+    0x000000f2 => "\x95",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f5 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fc => "\x81",
+    0x00000393 => "\xe2",
+    0x00000398 => "\xe9",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b4 => "\xeb",
+    0x000003b5 => "\xee",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x0000207f => "\xfc",
+    0x000020a7 => "\x9e",
+    0x00002219 => "\xf9",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xec",
+    0x00002229 => "\xef",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM860 - Conversion routines for IBM860
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM860.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP860
+ alias 860
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    8C |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    8D |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    8E |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    8F |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    92 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    96 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    99 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000A2 | CENT SIGN
+    9C |  000000A3 | POUND SIGN
+    9D |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    9E |  000020A7 | PESETA SIGN
+    9F |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  00000398 | GREEK CAPITAL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000221E | INFINITY
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  000003B5 | GREEK SMALL LETTER EPSILON
+    EF |  00002229 | INTERSECTION
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002219 | BULLET OPERATOR
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM861.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM861.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM861.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM861.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1148 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM861.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM861.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM861;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00d0,
+    0x00f0,
+    0x00de,
+    0x00c4,
+    0x00c5,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x00f4,
+    0x00f6,
+    0x00fe,
+    0x00fb,
+    0x00dd,
+    0x00fd,
+    0x00d6,
+    0x00dc,
+    0x00f8,
+    0x00a3,
+    0x00d8,
+    0x20a7,
+    0x0192,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00c1,
+    0x00cd,
+    0x00d3,
+    0x00da,
+    0x00bf,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x03b1,
+    0x00df,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x0398,
+    0x03a9,
+    0x03b4,
+    0x221e,
+    0x03c6,
+    0x03b5,
+    0x2229,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2219,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\x90",
+    "\xc3\xb0",
+    "\xc3\x9e",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xbe",
+    "\xc3\xbb",
+    "\xc3\x9d",
+    "\xc3\xbd",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xb8",
+    "\xc2\xa3",
+    "\xc3\x98",
+    "\xe2\x82\xa7",
+    "\xc6\x92",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\x81",
+    "\xc3\x8d",
+    "\xc3\x93",
+    "\xc3\x9a",
+    "\xc2\xbf",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xce\xb1",
+    "\xc3\x9f",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\x9e",
+    "\xcf\x86",
+    "\xce\xb5",
+    "\xe2\x88\xa9",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x88\x99",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a3 => "\x9c",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b5 => "\xe6",
+    0x000000b7 => "\xfa",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000c1 => "\xa4",
+    0x000000c4 => "\x8e",
+    0x000000c5 => "\x8f",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c9 => "\x90",
+    0x000000cd => "\xa5",
+    0x000000d0 => "\x8b",
+    0x000000d3 => "\xa6",
+    0x000000d6 => "\x99",
+    0x000000d8 => "\x9d",
+    0x000000da => "\xa7",
+    0x000000dc => "\x9a",
+    0x000000dd => "\x97",
+    0x000000de => "\x8d",
+    0x000000df => "\xe1",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ed => "\xa1",
+    0x000000f0 => "\x8c",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f8 => "\x9b",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000000fd => "\x98",
+    0x000000fe => "\x95",
+    0x00000192 => "\x9f",
+    0x00000393 => "\xe2",
+    0x00000398 => "\xe9",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b4 => "\xeb",
+    0x000003b5 => "\xee",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x0000207f => "\xfc",
+    0x000020a7 => "\x9e",
+    0x00002219 => "\xf9",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xec",
+    0x00002229 => "\xef",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM861 - Conversion routines for IBM861
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM861.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP861
+ alias 861
+ alias CP-IS
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    8D |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    98 |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    9C |  000000A3 | POUND SIGN
+    9D |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    9E |  000020A7 | PESETA SIGN
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    A5 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    A6 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    A7 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  00000398 | GREEK CAPITAL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000221E | INFINITY
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  000003B5 | GREEK SMALL LETTER EPSILON
+    EF |  00002229 | INTERSECTION
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002219 | BULLET OPERATOR
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM862.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM862.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM862.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM862.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM862.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM862.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM862;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x05d0,
+    0x05d1,
+    0x05d2,
+    0x05d3,
+    0x05d4,
+    0x05d5,
+    0x05d6,
+    0x05d7,
+    0x05d8,
+    0x05d9,
+    0x05da,
+    0x05db,
+    0x05dc,
+    0x05dd,
+    0x05de,
+    0x05df,
+    0x05e0,
+    0x05e1,
+    0x05e2,
+    0x05e3,
+    0x05e4,
+    0x05e5,
+    0x05e6,
+    0x05e7,
+    0x05e8,
+    0x05e9,
+    0x05ea,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x20a7,
+    0x0192,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x00ba,
+    0x00bf,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x03b1,
+    0x00df,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x0398,
+    0x03a9,
+    0x03b4,
+    0x221e,
+    0x03c6,
+    0x03b5,
+    0x2229,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2219,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd7\x90",
+    "\xd7\x91",
+    "\xd7\x92",
+    "\xd7\x93",
+    "\xd7\x94",
+    "\xd7\x95",
+    "\xd7\x96",
+    "\xd7\x97",
+    "\xd7\x98",
+    "\xd7\x99",
+    "\xd7\x9a",
+    "\xd7\x9b",
+    "\xd7\x9c",
+    "\xd7\x9d",
+    "\xd7\x9e",
+    "\xd7\x9f",
+    "\xd7\xa0",
+    "\xd7\xa1",
+    "\xd7\xa2",
+    "\xd7\xa3",
+    "\xd7\xa4",
+    "\xd7\xa5",
+    "\xd7\xa6",
+    "\xd7\xa7",
+    "\xd7\xa8",
+    "\xd7\xa9",
+    "\xd7\xaa",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xe2\x82\xa7",
+    "\xc6\x92",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xbf",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xce\xb1",
+    "\xc3\x9f",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\x9e",
+    "\xcf\x86",
+    "\xce\xb5",
+    "\xe2\x88\xa9",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x88\x99",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a2 => "\x9b",
+    0x000000a3 => "\x9c",
+    0x000000a5 => "\x9d",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b5 => "\xe6",
+    0x000000b7 => "\xfa",
+    0x000000ba => "\xa7",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000d1 => "\xa5",
+    0x000000df => "\xe1",
+    0x000000e1 => "\xa0",
+    0x000000ed => "\xa1",
+    0x000000f1 => "\xa4",
+    0x000000f3 => "\xa2",
+    0x000000f7 => "\xf6",
+    0x000000fa => "\xa3",
+    0x00000192 => "\x9f",
+    0x00000393 => "\xe2",
+    0x00000398 => "\xe9",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b4 => "\xeb",
+    0x000003b5 => "\xee",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x000005d0 => "\x80",
+    0x000005d1 => "\x81",
+    0x000005d2 => "\x82",
+    0x000005d3 => "\x83",
+    0x000005d4 => "\x84",
+    0x000005d5 => "\x85",
+    0x000005d6 => "\x86",
+    0x000005d7 => "\x87",
+    0x000005d8 => "\x88",
+    0x000005d9 => "\x89",
+    0x000005da => "\x8a",
+    0x000005db => "\x8b",
+    0x000005dc => "\x8c",
+    0x000005dd => "\x8d",
+    0x000005de => "\x8e",
+    0x000005df => "\x8f",
+    0x000005e0 => "\x90",
+    0x000005e1 => "\x91",
+    0x000005e2 => "\x92",
+    0x000005e3 => "\x93",
+    0x000005e4 => "\x94",
+    0x000005e5 => "\x95",
+    0x000005e6 => "\x96",
+    0x000005e7 => "\x97",
+    0x000005e8 => "\x98",
+    0x000005e9 => "\x99",
+    0x000005ea => "\x9a",
+    0x0000207f => "\xfc",
+    0x000020a7 => "\x9e",
+    0x00002219 => "\xf9",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xec",
+    0x00002229 => "\xef",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM862 - Conversion routines for IBM862
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM862.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP862
+ alias 862
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000005D0 | HEBREW LETTER ALEF
+    81 |  000005D1 | HEBREW LETTER BET
+    82 |  000005D2 | HEBREW LETTER GIMEL
+    83 |  000005D3 | HEBREW LETTER DALET
+    84 |  000005D4 | HEBREW LETTER HE
+    85 |  000005D5 | HEBREW LETTER VAV
+    86 |  000005D6 | HEBREW LETTER ZAYIN
+    87 |  000005D7 | HEBREW LETTER HET
+    88 |  000005D8 | HEBREW LETTER TET
+    89 |  000005D9 | HEBREW LETTER YOD
+    8A |  000005DA | HEBREW LETTER FINAL KAF
+    8B |  000005DB | HEBREW LETTER KAF
+    8C |  000005DC | HEBREW LETTER LAMED
+    8D |  000005DD | HEBREW LETTER FINAL MEM
+    8E |  000005DE | HEBREW LETTER MEM
+    8F |  000005DF | HEBREW LETTER FINAL NUN
+    90 |  000005E0 | HEBREW LETTER NUN
+    91 |  000005E1 | HEBREW LETTER SAMEKH
+    92 |  000005E2 | HEBREW LETTER AYIN
+    93 |  000005E3 | HEBREW LETTER FINAL PE
+    94 |  000005E4 | HEBREW LETTER PE
+    95 |  000005E5 | HEBREW LETTER FINAL TSADI
+    96 |  000005E6 | HEBREW LETTER TSADI
+    97 |  000005E7 | HEBREW LETTER QOF
+    98 |  000005E8 | HEBREW LETTER RESH
+    99 |  000005E9 | HEBREW LETTER SHIN
+    9A |  000005EA | HEBREW LETTER TAV
+    9B |  000000A2 | CENT SIGN
+    9C |  000000A3 | POUND SIGN
+    9D |  000000A5 | YEN SIGN
+    9E |  000020A7 | PESETA SIGN
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  00000398 | GREEK CAPITAL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000221E | INFINITY
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  000003B5 | GREEK SMALL LETTER EPSILON
+    EF |  00002229 | INTERSECTION
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002219 | BULLET OPERATOR
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM863.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM863.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM863.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM863.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM863.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM863.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM863;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00c2,
+    0x00e0,
+    0x00b6,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x2017,
+    0x00c0,
+    0x00a7,
+    0x00c9,
+    0x00c8,
+    0x00ca,
+    0x00f4,
+    0x00cb,
+    0x00cf,
+    0x00fb,
+    0x00f9,
+    0x00a4,
+    0x00d4,
+    0x00dc,
+    0x00a2,
+    0x00a3,
+    0x00d9,
+    0x00db,
+    0x0192,
+    0x00a6,
+    0x00b4,
+    0x00f3,
+    0x00fa,
+    0x00a8,
+    0x00b8,
+    0x00b3,
+    0x00af,
+    0x00ce,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00be,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x03b1,
+    0x00df,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x0398,
+    0x03a9,
+    0x03b4,
+    0x221e,
+    0x03c6,
+    0x03b5,
+    0x2229,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2219,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\x82",
+    "\xc3\xa0",
+    "\xc2\xb6",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xe2\x80\x97",
+    "\xc3\x80",
+    "\xc2\xa7",
+    "\xc3\x89",
+    "\xc3\x88",
+    "\xc3\x8a",
+    "\xc3\xb4",
+    "\xc3\x8b",
+    "\xc3\x8f",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc2\xa4",
+    "\xc3\x94",
+    "\xc3\x9c",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc3\x99",
+    "\xc3\x9b",
+    "\xc6\x92",
+    "\xc2\xa6",
+    "\xc2\xb4",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc2\xa8",
+    "\xc2\xb8",
+    "\xc2\xb3",
+    "\xc2\xaf",
+    "\xc3\x8e",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xbe",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xce\xb1",
+    "\xc3\x9f",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\x9e",
+    "\xcf\x86",
+    "\xce\xb5",
+    "\xe2\x88\xa9",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x88\x99",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a2 => "\x9b",
+    0x000000a3 => "\x9c",
+    0x000000a4 => "\x98",
+    0x000000a6 => "\xa0",
+    0x000000a7 => "\x8f",
+    0x000000a8 => "\xa4",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000af => "\xa7",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b3 => "\xa6",
+    0x000000b4 => "\xa1",
+    0x000000b5 => "\xe6",
+    0x000000b6 => "\x86",
+    0x000000b7 => "\xfa",
+    0x000000b8 => "\xa5",
+    0x000000bb => "\xaf",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000be => "\xad",
+    0x000000c0 => "\x8e",
+    0x000000c2 => "\x84",
+    0x000000c7 => "\x80",
+    0x000000c8 => "\x91",
+    0x000000c9 => "\x90",
+    0x000000ca => "\x92",
+    0x000000cb => "\x94",
+    0x000000ce => "\xa8",
+    0x000000cf => "\x95",
+    0x000000d4 => "\x99",
+    0x000000d9 => "\x9d",
+    0x000000db => "\x9e",
+    0x000000dc => "\x9a",
+    0x000000df => "\xe1",
+    0x000000e0 => "\x85",
+    0x000000e2 => "\x83",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f7 => "\xf6",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x00000192 => "\x9f",
+    0x00000393 => "\xe2",
+    0x00000398 => "\xe9",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b4 => "\xeb",
+    0x000003b5 => "\xee",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x00002017 => "\x8d",
+    0x0000207f => "\xfc",
+    0x00002219 => "\xf9",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xec",
+    0x00002229 => "\xef",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM863 - Conversion routines for IBM863
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM863.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM Keyboard layouts and code pages, PN 07G4586 June 1991
+ alias CP863
+ alias 863
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000B6 | PILCROW SIGN
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  00002017 | DOUBLE LOW LINE
+    8E |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    8F |  000000A7 | SECTION SIGN
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    92 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    95 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  000000A4 | CURRENCY SIGN
+    99 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000A2 | CENT SIGN
+    9C |  000000A3 | POUND SIGN
+    9D |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    9E |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000A6 | BROKEN BAR
+    A1 |  000000B4 | ACUTE ACCENT
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000A8 | DIAERESIS
+    A5 |  000000B8 | CEDILLA
+    A6 |  000000B3 | SUPERSCRIPT THREE
+    A7 |  000000AF | MACRON
+    A8 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000BE | VULGAR FRACTION THREE QUARTERS
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  00000398 | GREEK CAPITAL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000221E | INFINITY
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  000003B5 | GREEK SMALL LETTER EPSILON
+    EF |  00002229 | INTERSECTION
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002219 | BULLET OPERATOR
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM864.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM864.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM864.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM864.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1133 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM864.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM864.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM864;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x066a,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00b0,
+    0x00b7,
+    0x2219,
+    0x221a,
+    0x2592,
+    0x2500,
+    0x2502,
+    0x253c,
+    0x2524,
+    0x252c,
+    0x251c,
+    0x2534,
+    0x2510,
+    0x250c,
+    0x2514,
+    0x2518,
+    0x03b2,
+    0x221e,
+    0x03c6,
+    0x00b1,
+    0x00bd,
+    0x00bc,
+    0x2248,
+    0x00ab,
+    0x00bb,
+    0xfef7,
+    0xfef8,
+    0xfffd,
+    0xfffd,
+    0xfefb,
+    0xfefc,
+    0xfffd,
+    0x00a0,
+    0x00ad,
+    0xfe82,
+    0x00a3,
+    0x00a4,
+    0xfe84,
+    0xfffd,
+    0xfffd,
+    0xfe8e,
+    0xfe8f,
+    0xfe95,
+    0xfe99,
+    0x060c,
+    0xfe9d,
+    0xfea1,
+    0xfea5,
+    0x0660,
+    0x0661,
+    0x0662,
+    0x0663,
+    0x0664,
+    0x0665,
+    0x0666,
+    0x0667,
+    0x0668,
+    0x0669,
+    0xfed1,
+    0x061b,
+    0xfeb1,
+    0xfeb5,
+    0xfeb9,
+    0x061f,
+    0x00a2,
+    0xfe80,
+    0xfe81,
+    0xfe83,
+    0xfe85,
+    0xfeca,
+    0xfe8b,
+    0xfe8d,
+    0xfe91,
+    0xfe93,
+    0xfe97,
+    0xfe9b,
+    0xfe9f,
+    0xfea3,
+    0xfea7,
+    0xfea9,
+    0xfeab,
+    0xfead,
+    0xfeaf,
+    0xfeb3,
+    0xfeb7,
+    0xfebb,
+    0xfebf,
+    0xfec1,
+    0xfec5,
+    0xfecb,
+    0xfecf,
+    0x00a6,
+    0x00ac,
+    0x00f7,
+    0x00d7,
+    0xfec9,
+    0x0640,
+    0xfed3,
+    0xfed7,
+    0xfedb,
+    0xfedf,
+    0xfee3,
+    0xfee7,
+    0xfeeb,
+    0xfeed,
+    0xfeef,
+    0xfef3,
+    0xfebd,
+    0xfecc,
+    0xfece,
+    0xfecd,
+    0xfee1,
+    0xfe7d,
+    0x0651,
+    0xfee5,
+    0xfee9,
+    0xfeec,
+    0xfef0,
+    0xfef2,
+    0xfed0,
+    0xfed5,
+    0xfef5,
+    0xfef6,
+    0xfedd,
+    0xfed9,
+    0xfef1,
+    0x25a0,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\xd9\xaa",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\xb0",
+    "\xc2\xb7",
+    "\xe2\x88\x99",
+    "\xe2\x88\x9a",
+    "\xe2\x96\x92",
+    "\xe2\x94\x80",
+    "\xe2\x94\x82",
+    "\xe2\x94\xbc",
+    "\xe2\x94\xa4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\xb4",
+    "\xe2\x94\x90",
+    "\xe2\x94\x8c",
+    "\xe2\x94\x94",
+    "\xe2\x94\x98",
+    "\xce\xb2",
+    "\xe2\x88\x9e",
+    "\xcf\x86",
+    "\xc2\xb1",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xe2\x89\x88",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xef\xbb\xb7",
+    "\xef\xbb\xb8",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbb\xbb",
+    "\xef\xbb\xbc",
+    "\xef\xbf\xbd",
+    "\xc2\xa0",
+    "\xc2\xad",
+    "\xef\xba\x82",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xef\xba\x84",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xba\x8e",
+    "\xef\xba\x8f",
+    "\xef\xba\x95",
+    "\xef\xba\x99",
+    "\xd8\x8c",
+    "\xef\xba\x9d",
+    "\xef\xba\xa1",
+    "\xef\xba\xa5",
+    "\xd9\xa0",
+    "\xd9\xa1",
+    "\xd9\xa2",
+    "\xd9\xa3",
+    "\xd9\xa4",
+    "\xd9\xa5",
+    "\xd9\xa6",
+    "\xd9\xa7",
+    "\xd9\xa8",
+    "\xd9\xa9",
+    "\xef\xbb\x91",
+    "\xd8\x9b",
+    "\xef\xba\xb1",
+    "\xef\xba\xb5",
+    "\xef\xba\xb9",
+    "\xd8\x9f",
+    "\xc2\xa2",
+    "\xef\xba\x80",
+    "\xef\xba\x81",
+    "\xef\xba\x83",
+    "\xef\xba\x85",
+    "\xef\xbb\x8a",
+    "\xef\xba\x8b",
+    "\xef\xba\x8d",
+    "\xef\xba\x91",
+    "\xef\xba\x93",
+    "\xef\xba\x97",
+    "\xef\xba\x9b",
+    "\xef\xba\x9f",
+    "\xef\xba\xa3",
+    "\xef\xba\xa7",
+    "\xef\xba\xa9",
+    "\xef\xba\xab",
+    "\xef\xba\xad",
+    "\xef\xba\xaf",
+    "\xef\xba\xb3",
+    "\xef\xba\xb7",
+    "\xef\xba\xbb",
+    "\xef\xba\xbf",
+    "\xef\xbb\x81",
+    "\xef\xbb\x85",
+    "\xef\xbb\x8b",
+    "\xef\xbb\x8f",
+    "\xc2\xa6",
+    "\xc2\xac",
+    "\xc3\xb7",
+    "\xc3\x97",
+    "\xef\xbb\x89",
+    "\xd9\x80",
+    "\xef\xbb\x93",
+    "\xef\xbb\x97",
+    "\xef\xbb\x9b",
+    "\xef\xbb\x9f",
+    "\xef\xbb\xa3",
+    "\xef\xbb\xa7",
+    "\xef\xbb\xab",
+    "\xef\xbb\xad",
+    "\xef\xbb\xaf",
+    "\xef\xbb\xb3",
+    "\xef\xba\xbd",
+    "\xef\xbb\x8c",
+    "\xef\xbb\x8e",
+    "\xef\xbb\x8d",
+    "\xef\xbb\xa1",
+    "\xef\xb9\xbd",
+    "\xd9\x91",
+    "\xef\xbb\xa5",
+    "\xef\xbb\xa9",
+    "\xef\xbb\xac",
+    "\xef\xbb\xb0",
+    "\xef\xbb\xb2",
+    "\xef\xbb\x90",
+    "\xef\xbb\x95",
+    "\xef\xbb\xb5",
+    "\xef\xbb\xb6",
+    "\xef\xbb\x9d",
+    "\xef\xbb\x99",
+    "\xef\xbb\xb1",
+    "\xe2\x96\xa0",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a2 => "\xc0",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a6 => "\xdb",
+    0x000000ab => "\x97",
+    0x000000ac => "\xdc",
+    0x000000ad => "\xa1",
+    0x000000b0 => "\x80",
+    0x000000b1 => "\x93",
+    0x000000b7 => "\x81",
+    0x000000bb => "\x98",
+    0x000000bc => "\x95",
+    0x000000bd => "\x94",
+    0x000000d7 => "\xde",
+    0x000000f7 => "\xdd",
+    0x000003b2 => "\x90",
+    0x000003c6 => "\x92",
+    0x0000060c => "\xac",
+    0x0000061b => "\xbb",
+    0x0000061f => "\xbf",
+    0x00000640 => "\xe0",
+    0x00000651 => "\xf1",
+    0x00000660 => "\xb0",
+    0x00000661 => "\xb1",
+    0x00000662 => "\xb2",
+    0x00000663 => "\xb3",
+    0x00000664 => "\xb4",
+    0x00000665 => "\xb5",
+    0x00000666 => "\xb6",
+    0x00000667 => "\xb7",
+    0x00000668 => "\xb8",
+    0x00000669 => "\xb9",
+    0x0000066a => "\x25",
+    0x00002219 => "\x82",
+    0x0000221a => "\x83",
+    0x0000221e => "\x91",
+    0x00002248 => "\x96",
+    0x00002500 => "\x85",
+    0x00002502 => "\x86",
+    0x0000250c => "\x8d",
+    0x00002510 => "\x8c",
+    0x00002514 => "\x8e",
+    0x00002518 => "\x8f",
+    0x0000251c => "\x8a",
+    0x00002524 => "\x88",
+    0x0000252c => "\x89",
+    0x00002534 => "\x8b",
+    0x0000253c => "\x87",
+    0x00002592 => "\x84",
+    0x000025a0 => "\xfe",
+    0x0000fe7d => "\xf0",
+    0x0000fe80 => "\xc1",
+    0x0000fe81 => "\xc2",
+    0x0000fe82 => "\xa2",
+    0x0000fe83 => "\xc3",
+    0x0000fe84 => "\xa5",
+    0x0000fe85 => "\xc4",
+    0x0000fe8b => "\xc6",
+    0x0000fe8d => "\xc7",
+    0x0000fe8e => "\xa8",
+    0x0000fe8f => "\xa9",
+    0x0000fe91 => "\xc8",
+    0x0000fe93 => "\xc9",
+    0x0000fe95 => "\xaa",
+    0x0000fe97 => "\xca",
+    0x0000fe99 => "\xab",
+    0x0000fe9b => "\xcb",
+    0x0000fe9d => "\xad",
+    0x0000fe9f => "\xcc",
+    0x0000fea1 => "\xae",
+    0x0000fea3 => "\xcd",
+    0x0000fea5 => "\xaf",
+    0x0000fea7 => "\xce",
+    0x0000fea9 => "\xcf",
+    0x0000feab => "\xd0",
+    0x0000fead => "\xd1",
+    0x0000feaf => "\xd2",
+    0x0000feb1 => "\xbc",
+    0x0000feb3 => "\xd3",
+    0x0000feb5 => "\xbd",
+    0x0000feb7 => "\xd4",
+    0x0000feb9 => "\xbe",
+    0x0000febb => "\xd5",
+    0x0000febd => "\xeb",
+    0x0000febf => "\xd6",
+    0x0000fec1 => "\xd7",
+    0x0000fec5 => "\xd8",
+    0x0000fec9 => "\xdf",
+    0x0000feca => "\xc5",
+    0x0000fecb => "\xd9",
+    0x0000fecc => "\xec",
+    0x0000fecd => "\xee",
+    0x0000fece => "\xed",
+    0x0000fecf => "\xda",
+    0x0000fed0 => "\xf7",
+    0x0000fed1 => "\xba",
+    0x0000fed3 => "\xe1",
+    0x0000fed5 => "\xf8",
+    0x0000fed7 => "\xe2",
+    0x0000fed9 => "\xfc",
+    0x0000fedb => "\xe3",
+    0x0000fedd => "\xfb",
+    0x0000fedf => "\xe4",
+    0x0000fee1 => "\xef",
+    0x0000fee3 => "\xe5",
+    0x0000fee5 => "\xf2",
+    0x0000fee7 => "\xe6",
+    0x0000fee9 => "\xf3",
+    0x0000feeb => "\xe7",
+    0x0000feec => "\xf4",
+    0x0000feed => "\xe8",
+    0x0000feef => "\xe9",
+    0x0000fef0 => "\xf5",
+    0x0000fef1 => "\xfd",
+    0x0000fef2 => "\xf6",
+    0x0000fef3 => "\xea",
+    0x0000fef5 => "\xf9",
+    0x0000fef6 => "\xfa",
+    0x0000fef7 => "\x99",
+    0x0000fef8 => "\x9a",
+    0x0000fefb => "\x9d",
+    0x0000fefc => "\x9e",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM864 - Conversion routines for IBM864
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM864.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+ alias CP864
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  0000066A | ARABIC PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  000000B0 | DEGREE SIGN
+    81 |  000000B7 | MIDDLE DOT
+    82 |  00002219 | BULLET OPERATOR
+    83 |  0000221A | SQUARE ROOT
+    84 |  00002592 | MEDIUM SHADE
+    85 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    86 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    87 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    88 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    89 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    8A |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    8B |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    8C |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    8D |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    8E |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    8F |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    90 |  000003B2 | GREEK SMALL LETTER BETA
+    91 |  0000221E | INFINITY
+    92 |  000003C6 | GREEK SMALL LETTER PHI
+    93 |  000000B1 | PLUS-MINUS SIGN
+    94 |  000000BD | VULGAR FRACTION ONE HALF
+    95 |  000000BC | VULGAR FRACTION ONE QUARTER
+    96 |  00002248 | ALMOST EQUAL TO
+    97 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    98 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    99 |  0000FEF7 | ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED 
FORM
+    9A |  0000FEF8 | ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+    9D |  0000FEFB | ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+    9E |  0000FEFC | ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000AD | SOFT HYPHEN
+    A2 |  0000FE82 | ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  0000FE84 | ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+    A8 |  0000FE8E | ARABIC LETTER ALEF FINAL FORM
+    A9 |  0000FE8F | ARABIC LETTER BEH ISOLATED FORM
+    AA |  0000FE95 | ARABIC LETTER TEH ISOLATED FORM
+    AB |  0000FE99 | ARABIC LETTER THEH ISOLATED FORM
+    AC |  0000060C | ARABIC COMMA
+    AD |  0000FE9D | ARABIC LETTER JEEM ISOLATED FORM
+    AE |  0000FEA1 | ARABIC LETTER HAH ISOLATED FORM
+    AF |  0000FEA5 | ARABIC LETTER KHAH ISOLATED FORM
+    B0 |  00000660 | ARABIC-INDIC DIGIT ZERO
+    B1 |  00000661 | ARABIC-INDIC DIGIT ONE
+    B2 |  00000662 | ARABIC-INDIC DIGIT TWO
+    B3 |  00000663 | ARABIC-INDIC DIGIT THREE
+    B4 |  00000664 | ARABIC-INDIC DIGIT FOUR
+    B5 |  00000665 | ARABIC-INDIC DIGIT FIVE
+    B6 |  00000666 | ARABIC-INDIC DIGIT SIX
+    B7 |  00000667 | ARABIC-INDIC DIGIT SEVEN
+    B8 |  00000668 | ARABIC-INDIC DIGIT EIGHT
+    B9 |  00000669 | ARABIC-INDIC DIGIT NINE
+    BA |  0000FED1 | ARABIC LETTER FEH ISOLATED FORM
+    BB |  0000061B | ARABIC SEMICOLON
+    BC |  0000FEB1 | ARABIC LETTER SEEN ISOLATED FORM
+    BD |  0000FEB5 | ARABIC LETTER SHEEN ISOLATED FORM
+    BE |  0000FEB9 | ARABIC LETTER SAD ISOLATED FORM
+    BF |  0000061F | ARABIC QUESTION MARK
+    C0 |  000000A2 | CENT SIGN
+    C1 |  0000FE80 | ARABIC LETTER HAMZA ISOLATED FORM
+    C2 |  0000FE81 | ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+    C3 |  0000FE83 | ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+    C4 |  0000FE85 | ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+    C5 |  0000FECA | ARABIC LETTER AIN FINAL FORM
+    C6 |  0000FE8B | ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+    C7 |  0000FE8D | ARABIC LETTER ALEF ISOLATED FORM
+    C8 |  0000FE91 | ARABIC LETTER BEH INITIAL FORM
+    C9 |  0000FE93 | ARABIC LETTER TEH MARBUTA ISOLATED FORM
+    CA |  0000FE97 | ARABIC LETTER TEH INITIAL FORM
+    CB |  0000FE9B | ARABIC LETTER THEH INITIAL FORM
+    CC |  0000FE9F | ARABIC LETTER JEEM INITIAL FORM
+    CD |  0000FEA3 | ARABIC LETTER HAH INITIAL FORM
+    CE |  0000FEA7 | ARABIC LETTER KHAH INITIAL FORM
+    CF |  0000FEA9 | ARABIC LETTER DAL ISOLATED FORM
+    D0 |  0000FEAB | ARABIC LETTER THAL ISOLATED FORM
+    D1 |  0000FEAD | ARABIC LETTER REH ISOLATED FORM
+    D2 |  0000FEAF | ARABIC LETTER ZAIN ISOLATED FORM
+    D3 |  0000FEB3 | ARABIC LETTER SEEN INITIAL FORM
+    D4 |  0000FEB7 | ARABIC LETTER SHEEN INITIAL FORM
+    D5 |  0000FEBB | ARABIC LETTER SAD INITIAL FORM
+    D6 |  0000FEBF | ARABIC LETTER DAD INITIAL FORM
+    D7 |  0000FEC1 | ARABIC LETTER TAH ISOLATED FORM
+    D8 |  0000FEC5 | ARABIC LETTER ZAH ISOLATED FORM
+    D9 |  0000FECB | ARABIC LETTER AIN INITIAL FORM
+    DA |  0000FECF | ARABIC LETTER GHAIN INITIAL FORM
+    DB |  000000A6 | BROKEN BAR
+    DC |  000000AC | NOT SIGN
+    DD |  000000F7 | DIVISION SIGN
+    DE |  000000D7 | MULTIPLICATION SIGN
+    DF |  0000FEC9 | ARABIC LETTER AIN ISOLATED FORM
+    E0 |  00000640 | ARABIC TATWEEL
+    E1 |  0000FED3 | ARABIC LETTER FEH INITIAL FORM
+    E2 |  0000FED7 | ARABIC LETTER QAF INITIAL FORM
+    E3 |  0000FEDB | ARABIC LETTER KAF INITIAL FORM
+    E4 |  0000FEDF | ARABIC LETTER LAM INITIAL FORM
+    E5 |  0000FEE3 | ARABIC LETTER MEEM INITIAL FORM
+    E6 |  0000FEE7 | ARABIC LETTER NOON INITIAL FORM
+    E7 |  0000FEEB | ARABIC LETTER HEH INITIAL FORM
+    E8 |  0000FEED | ARABIC LETTER WAW ISOLATED FORM
+    E9 |  0000FEEF | ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+    EA |  0000FEF3 | ARABIC LETTER YEH INITIAL FORM
+    EB |  0000FEBD | ARABIC LETTER DAD ISOLATED FORM
+    EC |  0000FECC | ARABIC LETTER AIN MEDIAL FORM
+    ED |  0000FECE | ARABIC LETTER GHAIN FINAL FORM
+    EE |  0000FECD | ARABIC LETTER GHAIN ISOLATED FORM
+    EF |  0000FEE1 | ARABIC LETTER MEEM ISOLATED FORM
+    F0 |  0000FE7D | ARABIC SHADDA MEDIAL FORM
+    F1 |  00000651 | ARABIC SHADDA
+    F2 |  0000FEE5 | ARABIC LETTER NOON ISOLATED FORM
+    F3 |  0000FEE9 | ARABIC LETTER HEH ISOLATED FORM
+    F4 |  0000FEEC | ARABIC LETTER HEH MEDIAL FORM
+    F5 |  0000FEF0 | ARABIC LETTER ALEF MAKSURA FINAL FORM
+    F6 |  0000FEF2 | ARABIC LETTER YEH FINAL FORM
+    F7 |  0000FED0 | ARABIC LETTER GHAIN MEDIAL FORM
+    F8 |  0000FED5 | ARABIC LETTER QAF ISOLATED FORM
+    F9 |  0000FEF5 | ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED 
FORM
+    FA |  0000FEF6 | ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+    FB |  0000FEDD | ARABIC LETTER LAM ISOLATED FORM
+    FC |  0000FED9 | ARABIC LETTER KAF ISOLATED FORM
+    FD |  0000FEF1 | ARABIC LETTER YEH ISOLATED FORM
+    FE |  000025A0 | BLACK SQUARE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM865.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM865.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM865.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM865.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM865.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM865.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM865;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c7,
+    0x00fc,
+    0x00e9,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e5,
+    0x00e7,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ef,
+    0x00ee,
+    0x00ec,
+    0x00c4,
+    0x00c5,
+    0x00c9,
+    0x00e6,
+    0x00c6,
+    0x00f4,
+    0x00f6,
+    0x00f2,
+    0x00fb,
+    0x00f9,
+    0x00ff,
+    0x00d6,
+    0x00dc,
+    0x00f8,
+    0x00a3,
+    0x00d8,
+    0x20a7,
+    0x0192,
+    0x00e1,
+    0x00ed,
+    0x00f3,
+    0x00fa,
+    0x00f1,
+    0x00d1,
+    0x00aa,
+    0x00ba,
+    0x00bf,
+    0x2310,
+    0x00ac,
+    0x00bd,
+    0x00bc,
+    0x00a1,
+    0x00ab,
+    0x00a4,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x03b1,
+    0x00df,
+    0x0393,
+    0x03c0,
+    0x03a3,
+    0x03c3,
+    0x00b5,
+    0x03c4,
+    0x03a6,
+    0x0398,
+    0x03a9,
+    0x03b4,
+    0x221e,
+    0x03c6,
+    0x03b5,
+    0x2229,
+    0x2261,
+    0x00b1,
+    0x2265,
+    0x2264,
+    0x2320,
+    0x2321,
+    0x00f7,
+    0x2248,
+    0x00b0,
+    0x2219,
+    0x00b7,
+    0x221a,
+    0x207f,
+    0x00b2,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x87",
+    "\xc3\xbc",
+    "\xc3\xa9",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xaf",
+    "\xc3\xae",
+    "\xc3\xac",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x89",
+    "\xc3\xa6",
+    "\xc3\x86",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb2",
+    "\xc3\xbb",
+    "\xc3\xb9",
+    "\xc3\xbf",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xb8",
+    "\xc2\xa3",
+    "\xc3\x98",
+    "\xe2\x82\xa7",
+    "\xc6\x92",
+    "\xc3\xa1",
+    "\xc3\xad",
+    "\xc3\xb3",
+    "\xc3\xba",
+    "\xc3\xb1",
+    "\xc3\x91",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xc2\xbf",
+    "\xe2\x8c\x90",
+    "\xc2\xac",
+    "\xc2\xbd",
+    "\xc2\xbc",
+    "\xc2\xa1",
+    "\xc2\xab",
+    "\xc2\xa4",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xce\xb1",
+    "\xc3\x9f",
+    "\xce\x93",
+    "\xcf\x80",
+    "\xce\xa3",
+    "\xcf\x83",
+    "\xc2\xb5",
+    "\xcf\x84",
+    "\xce\xa6",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xce\xb4",
+    "\xe2\x88\x9e",
+    "\xcf\x86",
+    "\xce\xb5",
+    "\xe2\x88\xa9",
+    "\xe2\x89\xa1",
+    "\xc2\xb1",
+    "\xe2\x89\xa5",
+    "\xe2\x89\xa4",
+    "\xe2\x8c\xa0",
+    "\xe2\x8c\xa1",
+    "\xc3\xb7",
+    "\xe2\x89\x88",
+    "\xc2\xb0",
+    "\xe2\x88\x99",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x81\xbf",
+    "\xc2\xb2",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a1 => "\xad",
+    0x000000a3 => "\x9c",
+    0x000000a4 => "\xaf",
+    0x000000aa => "\xa6",
+    0x000000ab => "\xae",
+    0x000000ac => "\xaa",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\xfd",
+    0x000000b5 => "\xe6",
+    0x000000b7 => "\xfa",
+    0x000000ba => "\xa7",
+    0x000000bc => "\xac",
+    0x000000bd => "\xab",
+    0x000000bf => "\xa8",
+    0x000000c4 => "\x8e",
+    0x000000c5 => "\x8f",
+    0x000000c6 => "\x92",
+    0x000000c7 => "\x80",
+    0x000000c9 => "\x90",
+    0x000000d1 => "\xa5",
+    0x000000d6 => "\x99",
+    0x000000d8 => "\x9d",
+    0x000000dc => "\x9a",
+    0x000000df => "\xe1",
+    0x000000e0 => "\x85",
+    0x000000e1 => "\xa0",
+    0x000000e2 => "\x83",
+    0x000000e4 => "\x84",
+    0x000000e5 => "\x86",
+    0x000000e6 => "\x91",
+    0x000000e7 => "\x87",
+    0x000000e8 => "\x8a",
+    0x000000e9 => "\x82",
+    0x000000ea => "\x88",
+    0x000000eb => "\x89",
+    0x000000ec => "\x8d",
+    0x000000ed => "\xa1",
+    0x000000ee => "\x8c",
+    0x000000ef => "\x8b",
+    0x000000f1 => "\xa4",
+    0x000000f2 => "\x95",
+    0x000000f3 => "\xa2",
+    0x000000f4 => "\x93",
+    0x000000f6 => "\x94",
+    0x000000f7 => "\xf6",
+    0x000000f8 => "\x9b",
+    0x000000f9 => "\x97",
+    0x000000fa => "\xa3",
+    0x000000fb => "\x96",
+    0x000000fc => "\x81",
+    0x000000ff => "\x98",
+    0x00000192 => "\x9f",
+    0x00000393 => "\xe2",
+    0x00000398 => "\xe9",
+    0x000003a3 => "\xe4",
+    0x000003a6 => "\xe8",
+    0x000003a9 => "\xea",
+    0x000003b1 => "\xe0",
+    0x000003b4 => "\xeb",
+    0x000003b5 => "\xee",
+    0x000003c0 => "\xe3",
+    0x000003c3 => "\xe5",
+    0x000003c4 => "\xe7",
+    0x000003c6 => "\xed",
+    0x0000207f => "\xfc",
+    0x000020a7 => "\x9e",
+    0x00002219 => "\xf9",
+    0x0000221a => "\xfb",
+    0x0000221e => "\xec",
+    0x00002229 => "\xef",
+    0x00002248 => "\xf7",
+    0x00002261 => "\xf0",
+    0x00002264 => "\xf3",
+    0x00002265 => "\xf2",
+    0x00002310 => "\xa9",
+    0x00002320 => "\xf4",
+    0x00002321 => "\xf5",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM865 - Conversion routines for IBM865
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM865.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM DOS 3.3 Ref (Abridged), 94X9575 (Feb 1987)
+ alias CP865
+ alias 865
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    86 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    8D |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    8F |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    91 |  000000E6 | LATIN SMALL LETTER AE
+    92 |  000000C6 | LATIN CAPITAL LETTER AE
+    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    98 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    9C |  000000A3 | POUND SIGN
+    9D |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    9E |  000020A7 | PESETA SIGN
+    9F |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    A6 |  000000AA | FEMININE ORDINAL INDICATOR
+    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
+    A8 |  000000BF | INVERTED QUESTION MARK
+    A9 |  00002310 | REVERSED NOT SIGN
+    AA |  000000AC | NOT SIGN
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  000000BC | VULGAR FRACTION ONE QUARTER
+    AD |  000000A1 | INVERTED EXCLAMATION MARK
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000A4 | CURRENCY SIGN
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E2 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    E3 |  000003C0 | GREEK SMALL LETTER PI
+    E4 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    E5 |  000003C3 | GREEK SMALL LETTER SIGMA
+    E6 |  000000B5 | MICRO SIGN
+    E7 |  000003C4 | GREEK SMALL LETTER TAU
+    E8 |  000003A6 | GREEK CAPITAL LETTER PHI
+    E9 |  00000398 | GREEK CAPITAL LETTER THETA
+    EA |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    EB |  000003B4 | GREEK SMALL LETTER DELTA
+    EC |  0000221E | INFINITY
+    ED |  000003C6 | GREEK SMALL LETTER PHI
+    EE |  000003B5 | GREEK SMALL LETTER EPSILON
+    EF |  00002229 | INTERSECTION
+    F0 |  00002261 | IDENTICAL TO
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  00002265 | GREATER-THAN OR EQUAL TO
+    F3 |  00002264 | LESS-THAN OR EQUAL TO
+    F4 |  00002320 | TOP HALF INTEGRAL
+    F5 |  00002321 | BOTTOM HALF INTEGRAL
+    F6 |  000000F7 | DIVISION SIGN
+    F7 |  00002248 | ALMOST EQUAL TO
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002219 | BULLET OPERATOR
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  0000207F | SUPERSCRIPT LATIN SMALL LETTER N
+    FD |  000000B2 | SUPERSCRIPT TWO
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM866.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM866.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM866.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM866.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM866.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM866.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM866;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x2561,
+    0x2562,
+    0x2556,
+    0x2555,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x255c,
+    0x255b,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x255e,
+    0x255f,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x2567,
+    0x2568,
+    0x2564,
+    0x2565,
+    0x2559,
+    0x2558,
+    0x2552,
+    0x2553,
+    0x256b,
+    0x256a,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x258c,
+    0x2590,
+    0x2580,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x044f,
+    0x0401,
+    0x0451,
+    0x0404,
+    0x0454,
+    0x0407,
+    0x0457,
+    0x040e,
+    0x045e,
+    0x00b0,
+    0x2219,
+    0x00b7,
+    0x221a,
+    0x2116,
+    0x00a4,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xe2\x95\xa1",
+    "\xe2\x95\xa2",
+    "\xe2\x95\x96",
+    "\xe2\x95\x95",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9b",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\x99",
+    "\xe2\x95\x98",
+    "\xe2\x95\x92",
+    "\xe2\x95\x93",
+    "\xe2\x95\xab",
+    "\xe2\x95\xaa",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x80",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xd1\x8f",
+    "\xd0\x81",
+    "\xd1\x91",
+    "\xd0\x84",
+    "\xd1\x94",
+    "\xd0\x87",
+    "\xd1\x97",
+    "\xd0\x8e",
+    "\xd1\x9e",
+    "\xc2\xb0",
+    "\xe2\x88\x99",
+    "\xc2\xb7",
+    "\xe2\x88\x9a",
+    "\xe2\x84\x96",
+    "\xc2\xa4",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a4 => "\xfd",
+    0x000000b0 => "\xf8",
+    0x000000b7 => "\xfa",
+    0x00000401 => "\xf0",
+    0x00000404 => "\xf2",
+    0x00000407 => "\xf4",
+    0x0000040e => "\xf6",
+    0x00000410 => "\x80",
+    0x00000411 => "\x81",
+    0x00000412 => "\x82",
+    0x00000413 => "\x83",
+    0x00000414 => "\x84",
+    0x00000415 => "\x85",
+    0x00000416 => "\x86",
+    0x00000417 => "\x87",
+    0x00000418 => "\x88",
+    0x00000419 => "\x89",
+    0x0000041a => "\x8a",
+    0x0000041b => "\x8b",
+    0x0000041c => "\x8c",
+    0x0000041d => "\x8d",
+    0x0000041e => "\x8e",
+    0x0000041f => "\x8f",
+    0x00000420 => "\x90",
+    0x00000421 => "\x91",
+    0x00000422 => "\x92",
+    0x00000423 => "\x93",
+    0x00000424 => "\x94",
+    0x00000425 => "\x95",
+    0x00000426 => "\x96",
+    0x00000427 => "\x97",
+    0x00000428 => "\x98",
+    0x00000429 => "\x99",
+    0x0000042a => "\x9a",
+    0x0000042b => "\x9b",
+    0x0000042c => "\x9c",
+    0x0000042d => "\x9d",
+    0x0000042e => "\x9e",
+    0x0000042f => "\x9f",
+    0x00000430 => "\xa0",
+    0x00000431 => "\xa1",
+    0x00000432 => "\xa2",
+    0x00000433 => "\xa3",
+    0x00000434 => "\xa4",
+    0x00000435 => "\xa5",
+    0x00000436 => "\xa6",
+    0x00000437 => "\xa7",
+    0x00000438 => "\xa8",
+    0x00000439 => "\xa9",
+    0x0000043a => "\xaa",
+    0x0000043b => "\xab",
+    0x0000043c => "\xac",
+    0x0000043d => "\xad",
+    0x0000043e => "\xae",
+    0x0000043f => "\xaf",
+    0x00000440 => "\xe0",
+    0x00000441 => "\xe1",
+    0x00000442 => "\xe2",
+    0x00000443 => "\xe3",
+    0x00000444 => "\xe4",
+    0x00000445 => "\xe5",
+    0x00000446 => "\xe6",
+    0x00000447 => "\xe7",
+    0x00000448 => "\xe8",
+    0x00000449 => "\xe9",
+    0x0000044a => "\xea",
+    0x0000044b => "\xeb",
+    0x0000044c => "\xec",
+    0x0000044d => "\xed",
+    0x0000044e => "\xee",
+    0x0000044f => "\xef",
+    0x00000451 => "\xf1",
+    0x00000454 => "\xf3",
+    0x00000457 => "\xf5",
+    0x0000045e => "\xf7",
+    0x00002116 => "\xfc",
+    0x00002219 => "\xf9",
+    0x0000221a => "\xfb",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002552 => "\xd5",
+    0x00002553 => "\xd6",
+    0x00002554 => "\xc9",
+    0x00002555 => "\xb8",
+    0x00002556 => "\xb7",
+    0x00002557 => "\xbb",
+    0x00002558 => "\xd4",
+    0x00002559 => "\xd3",
+    0x0000255a => "\xc8",
+    0x0000255b => "\xbe",
+    0x0000255c => "\xbd",
+    0x0000255d => "\xbc",
+    0x0000255e => "\xc6",
+    0x0000255f => "\xc7",
+    0x00002560 => "\xcc",
+    0x00002561 => "\xb5",
+    0x00002562 => "\xb6",
+    0x00002563 => "\xb9",
+    0x00002564 => "\xd1",
+    0x00002565 => "\xd2",
+    0x00002566 => "\xcb",
+    0x00002567 => "\xcf",
+    0x00002568 => "\xd0",
+    0x00002569 => "\xca",
+    0x0000256a => "\xd8",
+    0x0000256b => "\xd7",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x0000258c => "\xdd",
+    0x00002590 => "\xde",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM866 - Conversion routines for IBM866
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM866.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+ alias CP866
+ alias 866
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  00000410 | CYRILLIC CAPITAL LETTER A
+    81 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    82 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    83 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    84 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    85 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    86 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    87 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    88 |  00000418 | CYRILLIC CAPITAL LETTER I
+    89 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    8A |  0000041A | CYRILLIC CAPITAL LETTER KA
+    8B |  0000041B | CYRILLIC CAPITAL LETTER EL
+    8C |  0000041C | CYRILLIC CAPITAL LETTER EM
+    8D |  0000041D | CYRILLIC CAPITAL LETTER EN
+    8E |  0000041E | CYRILLIC CAPITAL LETTER O
+    8F |  0000041F | CYRILLIC CAPITAL LETTER PE
+    90 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    91 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    92 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    93 |  00000423 | CYRILLIC CAPITAL LETTER U
+    94 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    95 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    96 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    97 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    98 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    99 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    9A |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    9B |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    9C |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    9D |  0000042D | CYRILLIC CAPITAL LETTER E
+    9E |  0000042E | CYRILLIC CAPITAL LETTER YU
+    9F |  0000042F | CYRILLIC CAPITAL LETTER YA
+    A0 |  00000430 | CYRILLIC SMALL LETTER A
+    A1 |  00000431 | CYRILLIC SMALL LETTER BE
+    A2 |  00000432 | CYRILLIC SMALL LETTER VE
+    A3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    A4 |  00000434 | CYRILLIC SMALL LETTER DE
+    A5 |  00000435 | CYRILLIC SMALL LETTER IE
+    A6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    A7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    A8 |  00000438 | CYRILLIC SMALL LETTER I
+    A9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    AA |  0000043A | CYRILLIC SMALL LETTER KA
+    AB |  0000043B | CYRILLIC SMALL LETTER EL
+    AC |  0000043C | CYRILLIC SMALL LETTER EM
+    AD |  0000043D | CYRILLIC SMALL LETTER EN
+    AE |  0000043E | CYRILLIC SMALL LETTER O
+    AF |  0000043F | CYRILLIC SMALL LETTER PE
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  0000258C | LEFT HALF BLOCK
+    DE |  00002590 | RIGHT HALF BLOCK
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  00000440 | CYRILLIC SMALL LETTER ER
+    E1 |  00000441 | CYRILLIC SMALL LETTER ES
+    E2 |  00000442 | CYRILLIC SMALL LETTER TE
+    E3 |  00000443 | CYRILLIC SMALL LETTER U
+    E4 |  00000444 | CYRILLIC SMALL LETTER EF
+    E5 |  00000445 | CYRILLIC SMALL LETTER HA
+    E6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    E7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    E8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    E9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    EA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    EB |  0000044B | CYRILLIC SMALL LETTER YERU
+    EC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    ED |  0000044D | CYRILLIC SMALL LETTER E
+    EE |  0000044E | CYRILLIC SMALL LETTER YU
+    EF |  0000044F | CYRILLIC SMALL LETTER YA
+    F0 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    F1 |  00000451 | CYRILLIC SMALL LETTER IO
+    F2 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    F3 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    F4 |  00000407 | CYRILLIC CAPITAL LETTER YI
+    F5 |  00000457 | CYRILLIC SMALL LETTER YI
+    F6 |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
+    F7 |  0000045E | CYRILLIC SMALL LETTER SHORT U
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  00002219 | BULLET OPERATOR
+    FA |  000000B7 | MIDDLE DOT
+    FB |  0000221A | SQUARE ROOT
+    FC |  00002116 | NUMERO SIGN
+    FD |  000000A4 | CURRENCY SIGN
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM868.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM868.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM868.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM868.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1097 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM868.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM868.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM868;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0660,
+    0x0661,
+    0x0662,
+    0x0663,
+    0x0664,
+    0x0665,
+    0x0666,
+    0x0667,
+    0x0668,
+    0x0669,
+    0x060c,
+    0x061b,
+    0x061f,
+    0x0622,
+    0x0627,
+    0xfe8e,
+    0xe016,
+    0x0628,
+    0xfe91,
+    0x067e,
+    0xfffd,
+    0x0629,
+    0x062a,
+    0xfe97,
+    0xfffd,
+    0xfffd,
+    0x062b,
+    0xfe9b,
+    0x062c,
+    0xfe9f,
+    0xfffd,
+    0xfffd,
+    0x062d,
+    0xfea3,
+    0x062e,
+    0xfea7,
+    0x062f,
+    0xfffd,
+    0x0630,
+    0x0631,
+    0xfffd,
+    0x0632,
+    0xfffd,
+    0x0633,
+    0xfeb3,
+    0x0634,
+    0x00ab,
+    0x00bb,
+    0xfeb7,
+    0x0635,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0xfebb,
+    0x0636,
+    0xfebf,
+    0x0637,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x0638,
+    0x0639,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0xfeca,
+    0xfecb,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0xfecc,
+    0x063a,
+    0xfece,
+    0xfecf,
+    0xfed0,
+    0x0641,
+    0xfed3,
+    0x0642,
+    0xfed7,
+    0xfeda,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2580,
+    0xfedb,
+    0xfffd,
+    0x2584,
+    0xfffd,
+    0x0644,
+    0xfede,
+    0xfee0,
+    0x0645,
+    0xfee3,
+    0xfffd,
+    0x0646,
+    0xfee7,
+    0xfffd,
+    0x0648,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0621,
+    0x00ad,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0651,
+    0xfe7d,
+    0xfffd,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd9\xa0",
+    "\xd9\xa1",
+    "\xd9\xa2",
+    "\xd9\xa3",
+    "\xd9\xa4",
+    "\xd9\xa5",
+    "\xd9\xa6",
+    "\xd9\xa7",
+    "\xd9\xa8",
+    "\xd9\xa9",
+    "\xd8\x8c",
+    "\xd8\x9b",
+    "\xd8\x9f",
+    "\xd8\xa2",
+    "\xd8\xa7",
+    "\xef\xba\x8e",
+    "\xee\x80\x96",
+    "\xd8\xa8",
+    "\xef\xba\x91",
+    "\xd9\xbe",
+    "\xef\xbf\xbd",
+    "\xd8\xa9",
+    "\xd8\xaa",
+    "\xef\xba\x97",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\xab",
+    "\xef\xba\x9b",
+    "\xd8\xac",
+    "\xef\xba\x9f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\xad",
+    "\xef\xba\xa3",
+    "\xd8\xae",
+    "\xef\xba\xa7",
+    "\xd8\xaf",
+    "\xef\xbf\xbd",
+    "\xd8\xb0",
+    "\xd8\xb1",
+    "\xef\xbf\xbd",
+    "\xd8\xb2",
+    "\xef\xbf\xbd",
+    "\xd8\xb3",
+    "\xef\xba\xb3",
+    "\xd8\xb4",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xef\xba\xb7",
+    "\xd8\xb5",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xef\xba\xbb",
+    "\xd8\xb6",
+    "\xef\xba\xbf",
+    "\xd8\xb7",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xd8\xb8",
+    "\xd8\xb9",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xef\xbb\x8a",
+    "\xef\xbb\x8b",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xef\xbb\x8c",
+    "\xd8\xba",
+    "\xef\xbb\x8e",
+    "\xef\xbb\x8f",
+    "\xef\xbb\x90",
+    "\xd9\x81",
+    "\xef\xbb\x93",
+    "\xd9\x82",
+    "\xef\xbb\x97",
+    "\xef\xbb\x9a",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x80",
+    "\xef\xbb\x9b",
+    "\xef\xbf\xbd",
+    "\xe2\x96\x84",
+    "\xef\xbf\xbd",
+    "\xd9\x84",
+    "\xef\xbb\x9e",
+    "\xef\xbb\xa0",
+    "\xd9\x85",
+    "\xef\xbb\xa3",
+    "\xef\xbf\xbd",
+    "\xd9\x86",
+    "\xef\xbb\xa7",
+    "\xef\xbf\xbd",
+    "\xd9\x88",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\xa1",
+    "\xc2\xad",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd9\x91",
+    "\xef\xb9\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000ab => "\xae",
+    0x000000ad => "\xf2",
+    0x000000bb => "\xaf",
+    0x0000060c => "\x8a",
+    0x0000061b => "\x8b",
+    0x0000061f => "\x8c",
+    0x00000621 => "\xf1",
+    0x00000622 => "\x8d",
+    0x00000627 => "\x8e",
+    0x00000628 => "\x91",
+    0x00000629 => "\x95",
+    0x0000062a => "\x96",
+    0x0000062b => "\x9a",
+    0x0000062c => "\x9c",
+    0x0000062d => "\xa0",
+    0x0000062e => "\xa2",
+    0x0000062f => "\xa4",
+    0x00000630 => "\xa6",
+    0x00000631 => "\xa7",
+    0x00000632 => "\xa9",
+    0x00000633 => "\xab",
+    0x00000634 => "\xad",
+    0x00000635 => "\xb1",
+    0x00000636 => "\xb8",
+    0x00000637 => "\xba",
+    0x00000638 => "\xbf",
+    0x00000639 => "\xc0",
+    0x0000063a => "\xd2",
+    0x00000641 => "\xd6",
+    0x00000642 => "\xd8",
+    0x00000644 => "\xe3",
+    0x00000645 => "\xe6",
+    0x00000646 => "\xe9",
+    0x00000648 => "\xec",
+    0x00000651 => "\xfb",
+    0x00000660 => "\x80",
+    0x00000661 => "\x81",
+    0x00000662 => "\x82",
+    0x00000663 => "\x83",
+    0x00000664 => "\x84",
+    0x00000665 => "\x85",
+    0x00000666 => "\x86",
+    0x00000667 => "\x87",
+    0x00000668 => "\x88",
+    0x00000669 => "\x89",
+    0x0000067e => "\x93",
+    0x00002500 => "\xc6",
+    0x00002502 => "\xb5",
+    0x0000250c => "\xdc",
+    0x00002510 => "\xc1",
+    0x00002514 => "\xc2",
+    0x00002518 => "\xdb",
+    0x0000251c => "\xc5",
+    0x00002524 => "\xb6",
+    0x0000252c => "\xc4",
+    0x00002534 => "\xc3",
+    0x0000253c => "\xc7",
+    0x00002550 => "\xcf",
+    0x00002551 => "\xbc",
+    0x00002554 => "\xcb",
+    0x00002557 => "\xbd",
+    0x0000255a => "\xca",
+    0x0000255d => "\xbe",
+    0x00002560 => "\xce",
+    0x00002563 => "\xbb",
+    0x00002566 => "\xcd",
+    0x00002569 => "\xcc",
+    0x0000256c => "\xd0",
+    0x00002580 => "\xde",
+    0x00002584 => "\xe1",
+    0x00002588 => "\xdd",
+    0x00002591 => "\xb2",
+    0x00002592 => "\xb3",
+    0x00002593 => "\xb4",
+    0x000025a0 => "\xfe",
+    0x0000e016 => "\x90",
+    0x0000fe7d => "\xfc",
+    0x0000fe8e => "\x8f",
+    0x0000fe91 => "\x92",
+    0x0000fe97 => "\x97",
+    0x0000fe9b => "\x9b",
+    0x0000fe9f => "\x9d",
+    0x0000fea3 => "\xa1",
+    0x0000fea7 => "\xa3",
+    0x0000feb3 => "\xac",
+    0x0000feb7 => "\xb0",
+    0x0000febb => "\xb7",
+    0x0000febf => "\xb9",
+    0x0000feca => "\xc8",
+    0x0000fecb => "\xc9",
+    0x0000fecc => "\xd1",
+    0x0000fece => "\xd3",
+    0x0000fecf => "\xd4",
+    0x0000fed0 => "\xd5",
+    0x0000fed3 => "\xd7",
+    0x0000fed7 => "\xd9",
+    0x0000feda => "\xda",
+    0x0000fedb => "\xdf",
+    0x0000fede => "\xe4",
+    0x0000fee0 => "\xe5",
+    0x0000fee3 => "\xe7",
+    0x0000fee7 => "\xea",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x8c"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM868 - Conversion routines for IBM868
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM868.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP868
+ alias CP-AR
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000660 | ARABIC-INDIC DIGIT ZERO
+    81 |  00000661 | ARABIC-INDIC DIGIT ONE
+    82 |  00000662 | ARABIC-INDIC DIGIT TWO
+    83 |  00000663 | ARABIC-INDIC DIGIT THREE
+    84 |  00000664 | ARABIC-INDIC DIGIT FOUR
+    85 |  00000665 | ARABIC-INDIC DIGIT FIVE
+    86 |  00000666 | ARABIC-INDIC DIGIT SIX
+    87 |  00000667 | ARABIC-INDIC DIGIT SEVEN
+    88 |  00000668 | ARABIC-INDIC DIGIT EIGHT
+    89 |  00000669 | ARABIC-INDIC DIGIT NINE
+    8A |  0000060C | ARABIC COMMA
+    8B |  0000061B | ARABIC SEMICOLON
+    8C |  0000061F | ARABIC QUESTION MARK
+    8D |  00000622 | ARABIC LETTER ALEF WITH MADDA ABOVE
+    8E |  00000627 | ARABIC LETTER ALEF
+    8F |  0000FE8E | ARABIC LETTER ALEF FINAL FORM
+    90 |  0000E016 | ARABIC LETTER ALEF FINAL FORM COMPATIBILITY 
E<lt>IBM868_90E<gt>
+    91 |  00000628 | ARABIC LETTER BEH
+    92 |  0000FE91 | ARABIC LETTER BEH INITIAL FORM
+    93 |  0000067E | ARABIC LETTER PEH
+    95 |  00000629 | ARABIC LETTER TEH MARBUTA
+    96 |  0000062A | ARABIC LETTER TEH
+    97 |  0000FE97 | ARABIC LETTER TEH INITIAL FORM
+    9A |  0000062B | ARABIC LETTER THEH
+    9B |  0000FE9B | ARABIC LETTER THEH INITIAL FORM
+    9C |  0000062C | ARABIC LETTER JEEM
+    9D |  0000FE9F | ARABIC LETTER JEEM INITIAL FORM
+    A0 |  0000062D | ARABIC LETTER HAH
+    A1 |  0000FEA3 | ARABIC LETTER HAH INITIAL FORM
+    A2 |  0000062E | ARABIC LETTER KHAH
+    A3 |  0000FEA7 | ARABIC LETTER KHAH INITIAL FORM
+    A4 |  0000062F | ARABIC LETTER DAL
+    A6 |  00000630 | ARABIC LETTER THAL
+    A7 |  00000631 | ARABIC LETTER REH
+    A9 |  00000632 | ARABIC LETTER ZAIN
+    AB |  00000633 | ARABIC LETTER SEEN
+    AC |  0000FEB3 | ARABIC LETTER SEEN INITIAL FORM
+    AD |  00000634 | ARABIC LETTER SHEEN
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  0000FEB7 | ARABIC LETTER SHEEN INITIAL FORM
+    B1 |  00000635 | ARABIC LETTER SAD
+    B2 |  00002591 | LIGHT SHADE
+    B3 |  00002592 | MEDIUM SHADE
+    B4 |  00002593 | DARK SHADE
+    B5 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B6 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B7 |  0000FEBB | ARABIC LETTER SAD INITIAL FORM
+    B8 |  00000636 | ARABIC LETTER DAD
+    B9 |  0000FEBF | ARABIC LETTER DAD INITIAL FORM
+    BA |  00000637 | ARABIC LETTER TAH
+    BB |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BC |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BD |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BE |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BF |  00000638 | ARABIC LETTER ZAH
+    C0 |  00000639 | ARABIC LETTER AIN
+    C1 |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C2 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C3 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C4 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C5 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C6 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C7 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C8 |  0000FECA | ARABIC LETTER AIN FINAL FORM
+    C9 |  0000FECB | ARABIC LETTER AIN INITIAL FORM
+    CA |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    CB |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CC |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CD |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CE |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CF |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    D0 |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    D1 |  0000FECC | ARABIC LETTER AIN MEDIAL FORM
+    D2 |  0000063A | ARABIC LETTER GHAIN
+    D3 |  0000FECE | ARABIC LETTER GHAIN FINAL FORM
+    D4 |  0000FECF | ARABIC LETTER GHAIN INITIAL FORM
+    D5 |  0000FED0 | ARABIC LETTER GHAIN MEDIAL FORM
+    D6 |  00000641 | ARABIC LETTER FEH
+    D7 |  0000FED3 | ARABIC LETTER FEH INITIAL FORM
+    D8 |  00000642 | ARABIC LETTER QAF
+    D9 |  0000FED7 | ARABIC LETTER QAF INITIAL FORM
+    DA |  0000FEDA | ARABIC LETTER KAF FINAL FORM
+    DB |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DC |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DD |  00002588 | FULL BLOCK
+    DE |  00002580 | UPPER HALF BLOCK
+    DF |  0000FEDB | ARABIC LETTER KAF INITIAL FORM
+    E1 |  00002584 | LOWER HALF BLOCK
+    E3 |  00000644 | ARABIC LETTER LAM
+    E4 |  0000FEDE | ARABIC LETTER LAM FINAL FORM
+    E5 |  0000FEE0 | ARABIC LETTER LAM MEDIAL FORM
+    E6 |  00000645 | ARABIC LETTER MEEM
+    E7 |  0000FEE3 | ARABIC LETTER MEEM INITIAL FORM
+    E9 |  00000646 | ARABIC LETTER NOON
+    EA |  0000FEE7 | ARABIC LETTER NOON INITIAL FORM
+    EC |  00000648 | ARABIC LETTER WAW
+    F1 |  00000621 | ARABIC LETTER HAMZA
+    F2 |  000000AD | SOFT HYPHEN
+    FB |  00000651 | ARABIC SHADDA
+    FC |  0000FE7D | ARABIC SHADDA MEDIAL FORM
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM869.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM869.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM869.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM869.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1130 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM869.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM869.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM869;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0386,
+    0xfffd,
+    0x00b7,
+    0x00ac,
+    0x00a6,
+    0x2018,
+    0x2019,
+    0x0388,
+    0x2015,
+    0x0389,
+    0x038a,
+    0x03aa,
+    0x038c,
+    0xfffd,
+    0xfffd,
+    0x038e,
+    0x03ab,
+    0x00a9,
+    0x038f,
+    0x00b2,
+    0x00b3,
+    0x03ac,
+    0x00a3,
+    0x03ad,
+    0x03ae,
+    0x03af,
+    0x03ca,
+    0x0390,
+    0x03cc,
+    0x03cd,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x00bd,
+    0x0398,
+    0x0399,
+    0x00ab,
+    0x00bb,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2502,
+    0x2524,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x2563,
+    0x2551,
+    0x2557,
+    0x255d,
+    0x039e,
+    0x039f,
+    0x2510,
+    0x2514,
+    0x2534,
+    0x252c,
+    0x251c,
+    0x2500,
+    0x253c,
+    0x03a0,
+    0x03a1,
+    0x255a,
+    0x2554,
+    0x2569,
+    0x2566,
+    0x2560,
+    0x2550,
+    0x256c,
+    0x03a3,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x2518,
+    0x250c,
+    0x2588,
+    0x2584,
+    0x03b4,
+    0x03b5,
+    0x2580,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c3,
+    0x03c2,
+    0x03c4,
+    0x0384,
+    0x00ad,
+    0x00b1,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x00a7,
+    0x03c8,
+    0x0385,
+    0x00b0,
+    0x00a8,
+    0x03c9,
+    0x03cb,
+    0x03b0,
+    0x03ce,
+    0x25a0,
+    0x00a0,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xce\x86",
+    "\xef\xbf\xbd",
+    "\xc2\xb7",
+    "\xc2\xac",
+    "\xc2\xa6",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xce\x88",
+    "\xe2\x80\x95",
+    "\xce\x89",
+    "\xce\x8a",
+    "\xce\xaa",
+    "\xce\x8c",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xce\x8e",
+    "\xce\xab",
+    "\xc2\xa9",
+    "\xce\x8f",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xce\xac",
+    "\xc2\xa3",
+    "\xce\xad",
+    "\xce\xae",
+    "\xce\xaf",
+    "\xcf\x8a",
+    "\xce\x90",
+    "\xcf\x8c",
+    "\xcf\x8d",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xc2\xbd",
+    "\xce\x98",
+    "\xce\x99",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x94\x82",
+    "\xe2\x94\xa4",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xe2\x95\xa3",
+    "\xe2\x95\x91",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xac",
+    "\xe2\x94\x9c",
+    "\xe2\x94\x80",
+    "\xe2\x94\xbc",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x94",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa0",
+    "\xe2\x95\x90",
+    "\xe2\x95\xac",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xe2\x94\x98",
+    "\xe2\x94\x8c",
+    "\xe2\x96\x88",
+    "\xe2\x96\x84",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xe2\x96\x80",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xcf\x82",
+    "\xcf\x84",
+    "\xce\x84",
+    "\xc2\xad",
+    "\xc2\xb1",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xc2\xa7",
+    "\xcf\x88",
+    "\xce\x85",
+    "\xc2\xb0",
+    "\xc2\xa8",
+    "\xcf\x89",
+    "\xcf\x8b",
+    "\xce\xb0",
+    "\xcf\x8e",
+    "\xe2\x96\xa0",
+    "\xc2\xa0",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xff",
+    0x000000a3 => "\x9c",
+    0x000000a6 => "\x8a",
+    0x000000a7 => "\xf5",
+    0x000000a8 => "\xf9",
+    0x000000a9 => "\x97",
+    0x000000ab => "\xae",
+    0x000000ac => "\x89",
+    0x000000ad => "\xf0",
+    0x000000b0 => "\xf8",
+    0x000000b1 => "\xf1",
+    0x000000b2 => "\x99",
+    0x000000b3 => "\x9a",
+    0x000000b7 => "\x88",
+    0x000000bb => "\xaf",
+    0x000000bd => "\xab",
+    0x00000384 => "\xef",
+    0x00000385 => "\xf7",
+    0x00000386 => "\x86",
+    0x00000388 => "\x8d",
+    0x00000389 => "\x8f",
+    0x0000038a => "\x90",
+    0x0000038c => "\x92",
+    0x0000038e => "\x95",
+    0x0000038f => "\x98",
+    0x00000390 => "\xa1",
+    0x00000391 => "\xa4",
+    0x00000392 => "\xa5",
+    0x00000393 => "\xa6",
+    0x00000394 => "\xa7",
+    0x00000395 => "\xa8",
+    0x00000396 => "\xa9",
+    0x00000397 => "\xaa",
+    0x00000398 => "\xac",
+    0x00000399 => "\xad",
+    0x0000039a => "\xb5",
+    0x0000039b => "\xb6",
+    0x0000039c => "\xb7",
+    0x0000039d => "\xb8",
+    0x0000039e => "\xbd",
+    0x0000039f => "\xbe",
+    0x000003a0 => "\xc6",
+    0x000003a1 => "\xc7",
+    0x000003a3 => "\xcf",
+    0x000003a4 => "\xd0",
+    0x000003a5 => "\xd1",
+    0x000003a6 => "\xd2",
+    0x000003a7 => "\xd3",
+    0x000003a8 => "\xd4",
+    0x000003a9 => "\xd5",
+    0x000003aa => "\x91",
+    0x000003ab => "\x96",
+    0x000003ac => "\x9b",
+    0x000003ad => "\x9d",
+    0x000003ae => "\x9e",
+    0x000003af => "\x9f",
+    0x000003b0 => "\xfc",
+    0x000003b1 => "\xd6",
+    0x000003b2 => "\xd7",
+    0x000003b3 => "\xd8",
+    0x000003b4 => "\xdd",
+    0x000003b5 => "\xde",
+    0x000003b6 => "\xe0",
+    0x000003b7 => "\xe1",
+    0x000003b8 => "\xe2",
+    0x000003b9 => "\xe3",
+    0x000003ba => "\xe4",
+    0x000003bb => "\xe5",
+    0x000003bc => "\xe6",
+    0x000003bd => "\xe7",
+    0x000003be => "\xe8",
+    0x000003bf => "\xe9",
+    0x000003c0 => "\xea",
+    0x000003c1 => "\xeb",
+    0x000003c2 => "\xed",
+    0x000003c3 => "\xec",
+    0x000003c4 => "\xee",
+    0x000003c5 => "\xf2",
+    0x000003c6 => "\xf3",
+    0x000003c7 => "\xf4",
+    0x000003c8 => "\xf6",
+    0x000003c9 => "\xfa",
+    0x000003ca => "\xa0",
+    0x000003cb => "\xfb",
+    0x000003cc => "\xa2",
+    0x000003cd => "\xa3",
+    0x000003ce => "\xfd",
+    0x00002015 => "\x8e",
+    0x00002018 => "\x8b",
+    0x00002019 => "\x8c",
+    0x00002500 => "\xc4",
+    0x00002502 => "\xb3",
+    0x0000250c => "\xda",
+    0x00002510 => "\xbf",
+    0x00002514 => "\xc0",
+    0x00002518 => "\xd9",
+    0x0000251c => "\xc3",
+    0x00002524 => "\xb4",
+    0x0000252c => "\xc2",
+    0x00002534 => "\xc1",
+    0x0000253c => "\xc5",
+    0x00002550 => "\xcd",
+    0x00002551 => "\xba",
+    0x00002554 => "\xc9",
+    0x00002557 => "\xbb",
+    0x0000255a => "\xc8",
+    0x0000255d => "\xbc",
+    0x00002560 => "\xcc",
+    0x00002563 => "\xb9",
+    0x00002566 => "\xcb",
+    0x00002569 => "\xca",
+    0x0000256c => "\xce",
+    0x00002580 => "\xdf",
+    0x00002584 => "\xdc",
+    0x00002588 => "\xdb",
+    0x00002591 => "\xb0",
+    0x00002592 => "\xb1",
+    0x00002593 => "\xb2",
+    0x000025a0 => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM869 - Conversion routines for IBM869
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM869.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM Keyboard layouts and code pages, PN 07G4586 June 1991
+ alias CP869
+ alias 869
+ alias CP-GR
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    86 |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
+    88 |  000000B7 | MIDDLE DOT
+    89 |  000000AC | NOT SIGN
+    8A |  000000A6 | BROKEN BAR
+    8B |  00002018 | LEFT SINGLE QUOTATION MARK
+    8C |  00002019 | RIGHT SINGLE QUOTATION MARK
+    8D |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
+    8E |  00002015 | HORIZONTAL BAR
+    8F |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
+    90 |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
+    91 |  000003AA | GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+    92 |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
+    95 |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
+    96 |  000003AB | GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+    97 |  000000A9 | COPYRIGHT SIGN
+    98 |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
+    99 |  000000B2 | SUPERSCRIPT TWO
+    9A |  000000B3 | SUPERSCRIPT THREE
+    9B |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
+    9C |  000000A3 | POUND SIGN
+    9D |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
+    9E |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
+    9F |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
+    A0 |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
+    A1 |  00000390 | GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+    A2 |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
+    A3 |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
+    A4 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    A5 |  00000392 | GREEK CAPITAL LETTER BETA
+    A6 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    A7 |  00000394 | GREEK CAPITAL LETTER DELTA
+    A8 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    A9 |  00000396 | GREEK CAPITAL LETTER ZETA
+    AA |  00000397 | GREEK CAPITAL LETTER ETA
+    AB |  000000BD | VULGAR FRACTION ONE HALF
+    AC |  00000398 | GREEK CAPITAL LETTER THETA
+    AD |  00000399 | GREEK CAPITAL LETTER IOTA
+    AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    B0 |  00002591 | LIGHT SHADE
+    B1 |  00002592 | MEDIUM SHADE
+    B2 |  00002593 | DARK SHADE
+    B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    B5 |  0000039A | GREEK CAPITAL LETTER KAPPA
+    B6 |  0000039B | GREEK CAPITAL LETTER LAMDA
+    B7 |  0000039C | GREEK CAPITAL LETTER MU
+    B8 |  0000039D | GREEK CAPITAL LETTER NU
+    B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    BD |  0000039E | GREEK CAPITAL LETTER XI
+    BE |  0000039F | GREEK CAPITAL LETTER OMICRON
+    BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    C6 |  000003A0 | GREEK CAPITAL LETTER PI
+    C7 |  000003A1 | GREEK CAPITAL LETTER RHO
+    C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CF |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    D0 |  000003A4 | GREEK CAPITAL LETTER TAU
+    D1 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    D2 |  000003A6 | GREEK CAPITAL LETTER PHI
+    D3 |  000003A7 | GREEK CAPITAL LETTER CHI
+    D4 |  000003A8 | GREEK CAPITAL LETTER PSI
+    D5 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    D6 |  000003B1 | GREEK SMALL LETTER ALPHA
+    D7 |  000003B2 | GREEK SMALL LETTER BETA
+    D8 |  000003B3 | GREEK SMALL LETTER GAMMA
+    D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    DB |  00002588 | FULL BLOCK
+    DC |  00002584 | LOWER HALF BLOCK
+    DD |  000003B4 | GREEK SMALL LETTER DELTA
+    DE |  000003B5 | GREEK SMALL LETTER EPSILON
+    DF |  00002580 | UPPER HALF BLOCK
+    E0 |  000003B6 | GREEK SMALL LETTER ZETA
+    E1 |  000003B7 | GREEK SMALL LETTER ETA
+    E2 |  000003B8 | GREEK SMALL LETTER THETA
+    E3 |  000003B9 | GREEK SMALL LETTER IOTA
+    E4 |  000003BA | GREEK SMALL LETTER KAPPA
+    E5 |  000003BB | GREEK SMALL LETTER LAMDA
+    E6 |  000003BC | GREEK SMALL LETTER MU
+    E7 |  000003BD | GREEK SMALL LETTER NU
+    E8 |  000003BE | GREEK SMALL LETTER XI
+    E9 |  000003BF | GREEK SMALL LETTER OMICRON
+    EA |  000003C0 | GREEK SMALL LETTER PI
+    EB |  000003C1 | GREEK SMALL LETTER RHO
+    EC |  000003C3 | GREEK SMALL LETTER SIGMA
+    ED |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    EE |  000003C4 | GREEK SMALL LETTER TAU
+    EF |  00000384 | GREEK TONOS
+    F0 |  000000AD | SOFT HYPHEN
+    F1 |  000000B1 | PLUS-MINUS SIGN
+    F2 |  000003C5 | GREEK SMALL LETTER UPSILON
+    F3 |  000003C6 | GREEK SMALL LETTER PHI
+    F4 |  000003C7 | GREEK SMALL LETTER CHI
+    F5 |  000000A7 | SECTION SIGN
+    F6 |  000003C8 | GREEK SMALL LETTER PSI
+    F7 |  00000385 | GREEK DIALYTIKA TONOS
+    F8 |  000000B0 | DEGREE SIGN
+    F9 |  000000A8 | DIAERESIS
+    FA |  000003C9 | GREEK SMALL LETTER OMEGA
+    FB |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+    FC |  000003B0 | GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+    FD |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
+    FE |  000025A0 | BLACK SQUARE
+    FF |  000000A0 | NO-BREAK SPACE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM870.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM870.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM870.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM870.pm   12 Oct 2011 
23:51:39 -0000      1.1
@@ -0,0 +1,1126 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM870.pm,v 1.1 2011/10/12 23:51:39 pertusus Exp $
+
+# Conversion routines for IBM870.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM870;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0xfffd,
+    0x00e4,
+    0xfffd,
+    0x00e1,
+    0x0103,
+    0x010d,
+    0x00e7,
+    0x0107,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0xfffd,
+    0x00eb,
+    0x016f,
+    0x00ed,
+    0xfffd,
+    0x013e,
+    0x013a,
+    0x00df,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfffd,
+    0x00c4,
+    0x02dd,
+    0x00c1,
+    0xfffd,
+    0x010c,
+    0x00c7,
+    0x0106,
+    0x007c,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x02c7,
+    0x00c9,
+    0xfffd,
+    0x00cb,
+    0x016e,
+    0x00cd,
+    0xfffd,
+    0x013d,
+    0x0139,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x02d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x015b,
+    0x0148,
+    0x0111,
+    0x00fd,
+    0x0159,
+    0xfffd,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0142,
+    0x0144,
+    0x0161,
+    0x00b8,
+    0x02db,
+    0x00a4,
+    0x0105,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x015a,
+    0x0147,
+    0x0110,
+    0x00dd,
+    0x0158,
+    0xfffd,
+    0x00b7,
+    0x0104,
+    0x017c,
+    0xfffd,
+    0x017b,
+    0x00a7,
+    0x00b6,
+    0x017e,
+    0x017a,
+    0x017d,
+    0x0179,
+    0x0143,
+    0x0160,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x00f6,
+    0x0155,
+    0x00f3,
+    0x0151,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x011a,
+    0x0171,
+    0x00fc,
+    0x0165,
+    0x00fa,
+    0x011b,
+    0x005c,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x010f,
+    0x00d4,
+    0x00d6,
+    0x0154,
+    0x00d3,
+    0x0150,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x010e,
+    0x0170,
+    0x00dc,
+    0x0164,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xef\xbf\xbd",
+    "\xc3\xa4",
+    "\xef\xbf\xbd",
+    "\xc3\xa1",
+    "\xc4\x83",
+    "\xc4\x8d",
+    "\xc3\xa7",
+    "\xc4\x87",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xef\xbf\xbd",
+    "\xc3\xab",
+    "\xc5\xaf",
+    "\xc3\xad",
+    "\xef\xbf\xbd",
+    "\xc4\xbe",
+    "\xc4\xba",
+    "\xc3\x9f",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xbf\xbd",
+    "\xc3\x84",
+    "\xcb\x9d",
+    "\xc3\x81",
+    "\xef\xbf\xbd",
+    "\xc4\x8c",
+    "\xc3\x87",
+    "\xc4\x86",
+    "\x7c",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xcb\x87",
+    "\xc3\x89",
+    "\xef\xbf\xbd",
+    "\xc3\x8b",
+    "\xc5\xae",
+    "\xc3\x8d",
+    "\xef\xbf\xbd",
+    "\xc4\xbd",
+    "\xc4\xb9",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xcb\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc5\x9b",
+    "\xc5\x88",
+    "\xc4\x91",
+    "\xc3\xbd",
+    "\xc5\x99",
+    "\xef\xbf\xbd",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc5\x82",
+    "\xc5\x84",
+    "\xc5\xa1",
+    "\xc2\xb8",
+    "\xcb\x9b",
+    "\xc2\xa4",
+    "\xc4\x85",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc5\x9a",
+    "\xc5\x87",
+    "\xc4\x90",
+    "\xc3\x9d",
+    "\xc5\x98",
+    "\xef\xbf\xbd",
+    "\xc2\xb7",
+    "\xc4\x84",
+    "\xc5\xbc",
+    "\xef\xbf\xbd",
+    "\xc5\xbb",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc5\xbe",
+    "\xc5\xba",
+    "\xc5\xbd",
+    "\xc5\xb9",
+    "\xc5\x83",
+    "\xc5\xa0",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc5\x95",
+    "\xc3\xb3",
+    "\xc5\x91",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc4\x9a",
+    "\xc5\xb1",
+    "\xc3\xbc",
+    "\xc5\xa5",
+    "\xc3\xba",
+    "\xc4\x9b",
+    "\x5c",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc4\x8f",
+    "\xc3\x94",
+    "\xc3\x96",
+    "\xc5\x94",
+    "\xc3\x93",
+    "\xc5\x90",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc4\x8e",
+    "\xc5\xb0",
+    "\xc3\x9c",
+    "\xc5\xa4",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\x6a",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a4 => "\x9f",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000ad => "\xca",
+    0x000000b0 => "\x90",
+    0x000000b4 => "\xbe",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb0",
+    0x000000b8 => "\x9d",
+    0x000000c1 => "\x65",
+    0x000000c4 => "\x63",
+    0x000000c7 => "\x68",
+    0x000000c9 => "\x71",
+    0x000000cb => "\x73",
+    0x000000cd => "\x75",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d6 => "\xec",
+    0x000000d7 => "\xbf",
+    0x000000da => "\xfe",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000df => "\x59",
+    0x000000e1 => "\x45",
+    0x000000e4 => "\x43",
+    0x000000e7 => "\x48",
+    0x000000e9 => "\x51",
+    0x000000eb => "\x53",
+    0x000000ed => "\x55",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f6 => "\xcc",
+    0x000000f7 => "\xe1",
+    0x000000fa => "\xde",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x00000103 => "\x46",
+    0x00000104 => "\xb1",
+    0x00000105 => "\xa0",
+    0x00000106 => "\x69",
+    0x00000107 => "\x49",
+    0x0000010c => "\x67",
+    0x0000010d => "\x47",
+    0x0000010e => "\xfa",
+    0x0000010f => "\xea",
+    0x00000110 => "\xac",
+    0x00000111 => "\x8c",
+    0x0000011a => "\xda",
+    0x0000011b => "\xdf",
+    0x00000139 => "\x78",
+    0x0000013a => "\x58",
+    0x0000013d => "\x77",
+    0x0000013e => "\x57",
+    0x00000142 => "\x9a",
+    0x00000143 => "\xbb",
+    0x00000144 => "\x9b",
+    0x00000147 => "\xab",
+    0x00000148 => "\x8b",
+    0x00000150 => "\xef",
+    0x00000151 => "\xcf",
+    0x00000154 => "\xed",
+    0x00000155 => "\xcd",
+    0x00000158 => "\xae",
+    0x00000159 => "\x8e",
+    0x0000015a => "\xaa",
+    0x0000015b => "\x8a",
+    0x00000160 => "\xbc",
+    0x00000161 => "\x9c",
+    0x00000164 => "\xfd",
+    0x00000165 => "\xdd",
+    0x0000016e => "\x74",
+    0x0000016f => "\x54",
+    0x00000170 => "\xfb",
+    0x00000171 => "\xdb",
+    0x00000179 => "\xba",
+    0x0000017a => "\xb8",
+    0x0000017b => "\xb4",
+    0x0000017c => "\xb2",
+    0x0000017d => "\xb9",
+    0x0000017e => "\xb7",
+    0x000002c7 => "\x70",
+    0x000002d8 => "\x80",
+    0x000002db => "\x9e",
+    0x000002dd => "\x64",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM870 - Conversion routines for IBM870
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM870.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP870
+ alias EBCDIC-CP-ROECE
+ alias EBCDIC-CP-YU
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    47 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  0000016F | LATIN SMALL LETTER U WITH RING ABOVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    57 |  0000013E | LATIN SMALL LETTER L WITH CARON
+    58 |  0000013A | LATIN SMALL LETTER L WITH ACUTE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000002DD | DOUBLE ACUTE ACCENT
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    67 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    6A |  0000007C | VERTICAL LINE
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000002C7 | CARON (Mandarin Chinese third tone)
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  0000016E | LATIN CAPITAL LETTER U WITH RING ABOVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    77 |  0000013D | LATIN CAPITAL LETTER L WITH CARON
+    78 |  00000139 | LATIN CAPITAL LETTER L WITH ACUTE
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000002D8 | BREVE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    8B |  00000148 | LATIN SMALL LETTER N WITH CARON
+    8C |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  00000159 | LATIN SMALL LETTER R WITH CARON
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    9B |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    9C |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9D |  000000B8 | CEDILLA
+    9E |  000002DB | OGONEK
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    AB |  00000147 | LATIN CAPITAL LETTER N WITH CARON
+    AC |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  00000158 | LATIN CAPITAL LETTER R WITH CARON
+    B0 |  000000B7 | MIDDLE DOT
+    B1 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    B2 |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    B4 |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    B8 |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    B9 |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    BA |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    BB |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    BC |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    CD |  00000155 | LATIN SMALL LETTER R WITH ACUTE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  0000011A | LATIN CAPITAL LETTER E WITH CARON
+    DB |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  00000165 | LATIN SMALL LETTER T WITH CARON
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  0000011B | LATIN SMALL LETTER E WITH CARON
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  0000010F | LATIN SMALL LETTER D WITH CARON
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    ED |  00000154 | LATIN CAPITAL LETTER R WITH ACUTE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  0000010E | LATIN CAPITAL LETTER D WITH CARON
+    FB |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  00000164 | LATIN CAPITAL LETTER T WITH CARON
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM871.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM871.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM871.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM871.pm   12 Oct 2011 
23:51:40 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM871.pm,v 1.1 2011/10/12 23:51:40 pertusus Exp $
+
+# Conversion routines for IBM871.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM871;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00f1,
+    0x00fe,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x00c6,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x00d6,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0x00c3,
+    0x00c5,
+    0x00c7,
+    0x00d1,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00f8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00f0,
+    0x003a,
+    0x0023,
+    0x00d0,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x00d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x00ab,
+    0x00bb,
+    0x0060,
+    0x00fd,
+    0x007b,
+    0x00b1,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x00aa,
+    0x00ba,
+    0x007d,
+    0x00b8,
+    0x005d,
+    0x00a4,
+    0x00b5,
+    0x00f6,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00a1,
+    0x00bf,
+    0x0040,
+    0x00dd,
+    0x005b,
+    0x00ae,
+    0x00a2,
+    0x00a3,
+    0x00a5,
+    0x00b7,
+    0x00a9,
+    0x00a7,
+    0x00b6,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00ac,
+    0x007c,
+    0x00af,
+    0x00a8,
+    0x005c,
+    0x00d7,
+    0x00de,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x007e,
+    0x00f2,
+    0x00f3,
+    0x00f5,
+    0x00e6,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b9,
+    0x00fb,
+    0x00fc,
+    0x00f9,
+    0x00fa,
+    0x00ff,
+    0x00b4,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x005e,
+    0x00d2,
+    0x00d3,
+    0x00d5,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x00dc,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xb1",
+    "\xc3\xbe",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\xc3\x86",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\xc3\x96",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x83",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x91",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc3\xb8",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\xb0",
+    "\x3a",
+    "\x23",
+    "\xc3\x90",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xc3\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\x60",
+    "\xc3\xbd",
+    "\x7b",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\x7d",
+    "\xc2\xb8",
+    "\x5d",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\xc3\xb6",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc2\xa1",
+    "\xc2\xbf",
+    "\x40",
+    "\xc3\x9d",
+    "\x5b",
+    "\xc2\xae",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa5",
+    "\xc2\xb7",
+    "\xc2\xa9",
+    "\xc2\xa7",
+    "\xc2\xb6",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xac",
+    "\x7c",
+    "\xc2\xaf",
+    "\xc2\xa8",
+    "\x5c",
+    "\xc3\x97",
+    "\xc3\x9e",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\x7e",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb5",
+    "\xc3\xa6",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbf",
+    "\xc2\xb4",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\x5e",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x95",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\xac",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\xae",
+    0x0000005c => "\xbe",
+    0x0000005d => "\x9e",
+    0x0000005e => "\xec",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x8c",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x8e",
+    0x0000007c => "\xbb",
+    0x0000007d => "\x9c",
+    0x0000007e => "\xcc",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000a1 => "\xaa",
+    0x000000a2 => "\xb0",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a5 => "\xb2",
+    0x000000a6 => "\x6a",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000a9 => "\xb4",
+    0x000000aa => "\x9a",
+    0x000000ab => "\x8a",
+    0x000000ac => "\xba",
+    0x000000ad => "\xca",
+    0x000000ae => "\xaf",
+    0x000000af => "\xbc",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\x8f",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xe0",
+    0x000000b5 => "\xa0",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb3",
+    0x000000b8 => "\x9d",
+    0x000000b9 => "\xda",
+    0x000000ba => "\x9b",
+    0x000000bb => "\x8b",
+    0x000000bc => "\xb7",
+    0x000000bd => "\xb8",
+    0x000000be => "\xb9",
+    0x000000bf => "\xab",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c3 => "\x66",
+    0x000000c4 => "\x63",
+    0x000000c5 => "\x67",
+    0x000000c6 => "\x5a",
+    0x000000c7 => "\x68",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d0 => "\x7c",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d5 => "\xef",
+    0x000000d6 => "\x5f",
+    0x000000d7 => "\xbf",
+    0x000000d8 => "\x80",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\xfc",
+    0x000000dd => "\xad",
+    0x000000de => "\xc0",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e3 => "\x46",
+    0x000000e4 => "\x43",
+    0x000000e5 => "\x47",
+    0x000000e6 => "\xd0",
+    0x000000e7 => "\x48",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f0 => "\x79",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f5 => "\xcf",
+    0x000000f6 => "\xa1",
+    0x000000f7 => "\xe1",
+    0x000000f8 => "\x70",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xdc",
+    0x000000fd => "\x8d",
+    0x000000fe => "\x4a",
+    0x000000ff => "\xdf",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM871 - Conversion routines for IBM871
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM871.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP871
+ alias EBCDIC-CP-IS
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    48 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  000000C6 | LATIN CAPITAL LETTER AE
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8C |  00000060 | GRAVE ACCENT
+    8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    8E |  0000007B | LEFT CURLY BRACKET
+    8F |  000000B1 | PLUS-MINUS SIGN
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000000AA | FEMININE ORDINAL INDICATOR
+    9B |  000000BA | MASCULINE ORDINAL INDICATOR
+    9C |  0000007D | RIGHT CURLY BRACKET
+    9D |  000000B8 | CEDILLA
+    9E |  0000005D | RIGHT SQUARE BRACKET
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000000A1 | INVERTED EXCLAMATION MARK
+    AB |  000000BF | INVERTED QUESTION MARK
+    AC |  00000040 | COMMERCIAL AT
+    AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    AE |  0000005B | LEFT SQUARE BRACKET
+    AF |  000000AE | REGISTERED SIGN
+    B0 |  000000A2 | CENT SIGN
+    B1 |  000000A3 | POUND SIGN
+    B2 |  000000A5 | YEN SIGN
+    B3 |  000000B7 | MIDDLE DOT
+    B4 |  000000A9 | COPYRIGHT SIGN
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000BC | VULGAR FRACTION ONE QUARTER
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BA |  000000AC | NOT SIGN
+    BB |  0000007C | VERTICAL LINE
+    BC |  000000AF | MACRON
+    BD |  000000A8 | DIAERESIS
+    BE |  0000005C | REVERSE SOLIDUS
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  0000007E | TILDE
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    D0 |  000000E6 | LATIN SMALL LETTER AE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B9 | SUPERSCRIPT ONE
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    E0 |  000000B4 | ACUTE ACCENT
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  0000005E | CIRCUMFLEX ACCENT
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM874.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM874.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM874.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM874.pm   12 Oct 2011 
23:51:40 -0000      1.1
@@ -0,0 +1,1083 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM874.pm,v 1.1 2011/10/12 23:51:40 pertusus Exp $
+
+# Conversion routines for IBM874.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM874;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2026,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a0,
+    0x0e01,
+    0x0e02,
+    0x0e03,
+    0x0e04,
+    0x0e05,
+    0x0e06,
+    0x0e07,
+    0x0e08,
+    0x0e09,
+    0x0e0a,
+    0x0e0b,
+    0x0e0c,
+    0x0e0d,
+    0x0e0e,
+    0x0e0f,
+    0x0e10,
+    0x0e11,
+    0x0e12,
+    0x0e13,
+    0x0e14,
+    0x0e15,
+    0x0e16,
+    0x0e17,
+    0x0e18,
+    0x0e19,
+    0x0e1a,
+    0x0e1b,
+    0x0e1c,
+    0x0e1d,
+    0x0e1e,
+    0x0e1f,
+    0x0e20,
+    0x0e21,
+    0x0e22,
+    0x0e23,
+    0x0e24,
+    0x0e25,
+    0x0e26,
+    0x0e27,
+    0x0e28,
+    0x0e29,
+    0x0e2a,
+    0x0e2b,
+    0x0e2c,
+    0x0e2d,
+    0x0e2e,
+    0x0e2f,
+    0x0e30,
+    0x0e31,
+    0x0e32,
+    0x0e33,
+    0x0e34,
+    0x0e35,
+    0x0e36,
+    0x0e37,
+    0x0e38,
+    0x0e39,
+    0x0e3a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0e3f,
+    0x0e40,
+    0x0e41,
+    0x0e42,
+    0x0e43,
+    0x0e44,
+    0x0e45,
+    0x0e46,
+    0x0e47,
+    0x0e48,
+    0x0e49,
+    0x0e4a,
+    0x0e4b,
+    0x0e4c,
+    0x0e4d,
+    0x0e4e,
+    0x0e4f,
+    0x0e50,
+    0x0e51,
+    0x0e52,
+    0x0e53,
+    0x0e54,
+    0x0e55,
+    0x0e56,
+    0x0e57,
+    0x0e58,
+    0x0e59,
+    0x0e5a,
+    0x0e5b,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xa6",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa0",
+    "\xe0\xb8\x81",
+    "\xe0\xb8\x82",
+    "\xe0\xb8\x83",
+    "\xe0\xb8\x84",
+    "\xe0\xb8\x85",
+    "\xe0\xb8\x86",
+    "\xe0\xb8\x87",
+    "\xe0\xb8\x88",
+    "\xe0\xb8\x89",
+    "\xe0\xb8\x8a",
+    "\xe0\xb8\x8b",
+    "\xe0\xb8\x8c",
+    "\xe0\xb8\x8d",
+    "\xe0\xb8\x8e",
+    "\xe0\xb8\x8f",
+    "\xe0\xb8\x90",
+    "\xe0\xb8\x91",
+    "\xe0\xb8\x92",
+    "\xe0\xb8\x93",
+    "\xe0\xb8\x94",
+    "\xe0\xb8\x95",
+    "\xe0\xb8\x96",
+    "\xe0\xb8\x97",
+    "\xe0\xb8\x98",
+    "\xe0\xb8\x99",
+    "\xe0\xb8\x9a",
+    "\xe0\xb8\x9b",
+    "\xe0\xb8\x9c",
+    "\xe0\xb8\x9d",
+    "\xe0\xb8\x9e",
+    "\xe0\xb8\x9f",
+    "\xe0\xb8\xa0",
+    "\xe0\xb8\xa1",
+    "\xe0\xb8\xa2",
+    "\xe0\xb8\xa3",
+    "\xe0\xb8\xa4",
+    "\xe0\xb8\xa5",
+    "\xe0\xb8\xa6",
+    "\xe0\xb8\xa7",
+    "\xe0\xb8\xa8",
+    "\xe0\xb8\xa9",
+    "\xe0\xb8\xaa",
+    "\xe0\xb8\xab",
+    "\xe0\xb8\xac",
+    "\xe0\xb8\xad",
+    "\xe0\xb8\xae",
+    "\xe0\xb8\xaf",
+    "\xe0\xb8\xb0",
+    "\xe0\xb8\xb1",
+    "\xe0\xb8\xb2",
+    "\xe0\xb8\xb3",
+    "\xe0\xb8\xb4",
+    "\xe0\xb8\xb5",
+    "\xe0\xb8\xb6",
+    "\xe0\xb8\xb7",
+    "\xe0\xb8\xb8",
+    "\xe0\xb8\xb9",
+    "\xe0\xb8\xba",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe0\xb8\xbf",
+    "\xe0\xb9\x80",
+    "\xe0\xb9\x81",
+    "\xe0\xb9\x82",
+    "\xe0\xb9\x83",
+    "\xe0\xb9\x84",
+    "\xe0\xb9\x85",
+    "\xe0\xb9\x86",
+    "\xe0\xb9\x87",
+    "\xe0\xb9\x88",
+    "\xe0\xb9\x89",
+    "\xe0\xb9\x8a",
+    "\xe0\xb9\x8b",
+    "\xe0\xb9\x8c",
+    "\xe0\xb9\x8d",
+    "\xe0\xb9\x8e",
+    "\xe0\xb9\x8f",
+    "\xe0\xb9\x90",
+    "\xe0\xb9\x91",
+    "\xe0\xb9\x92",
+    "\xe0\xb9\x93",
+    "\xe0\xb9\x94",
+    "\xe0\xb9\x95",
+    "\xe0\xb9\x96",
+    "\xe0\xb9\x97",
+    "\xe0\xb9\x98",
+    "\xe0\xb9\x99",
+    "\xe0\xb9\x9a",
+    "\xe0\xb9\x9b",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x00000e01 => "\xa1",
+    0x00000e02 => "\xa2",
+    0x00000e03 => "\xa3",
+    0x00000e04 => "\xa4",
+    0x00000e05 => "\xa5",
+    0x00000e06 => "\xa6",
+    0x00000e07 => "\xa7",
+    0x00000e08 => "\xa8",
+    0x00000e09 => "\xa9",
+    0x00000e0a => "\xaa",
+    0x00000e0b => "\xab",
+    0x00000e0c => "\xac",
+    0x00000e0d => "\xad",
+    0x00000e0e => "\xae",
+    0x00000e0f => "\xaf",
+    0x00000e10 => "\xb0",
+    0x00000e11 => "\xb1",
+    0x00000e12 => "\xb2",
+    0x00000e13 => "\xb3",
+    0x00000e14 => "\xb4",
+    0x00000e15 => "\xb5",
+    0x00000e16 => "\xb6",
+    0x00000e17 => "\xb7",
+    0x00000e18 => "\xb8",
+    0x00000e19 => "\xb9",
+    0x00000e1a => "\xba",
+    0x00000e1b => "\xbb",
+    0x00000e1c => "\xbc",
+    0x00000e1d => "\xbd",
+    0x00000e1e => "\xbe",
+    0x00000e1f => "\xbf",
+    0x00000e20 => "\xc0",
+    0x00000e21 => "\xc1",
+    0x00000e22 => "\xc2",
+    0x00000e23 => "\xc3",
+    0x00000e24 => "\xc4",
+    0x00000e25 => "\xc5",
+    0x00000e26 => "\xc6",
+    0x00000e27 => "\xc7",
+    0x00000e28 => "\xc8",
+    0x00000e29 => "\xc9",
+    0x00000e2a => "\xca",
+    0x00000e2b => "\xcb",
+    0x00000e2c => "\xcc",
+    0x00000e2d => "\xcd",
+    0x00000e2e => "\xce",
+    0x00000e2f => "\xcf",
+    0x00000e30 => "\xd0",
+    0x00000e31 => "\xd1",
+    0x00000e32 => "\xd2",
+    0x00000e33 => "\xd3",
+    0x00000e34 => "\xd4",
+    0x00000e35 => "\xd5",
+    0x00000e36 => "\xd6",
+    0x00000e37 => "\xd7",
+    0x00000e38 => "\xd8",
+    0x00000e39 => "\xd9",
+    0x00000e3a => "\xda",
+    0x00000e3f => "\xdf",
+    0x00000e40 => "\xe0",
+    0x00000e41 => "\xe1",
+    0x00000e42 => "\xe2",
+    0x00000e43 => "\xe3",
+    0x00000e44 => "\xe4",
+    0x00000e45 => "\xe5",
+    0x00000e46 => "\xe6",
+    0x00000e47 => "\xe7",
+    0x00000e48 => "\xe8",
+    0x00000e49 => "\xe9",
+    0x00000e4a => "\xea",
+    0x00000e4b => "\xeb",
+    0x00000e4c => "\xec",
+    0x00000e4d => "\xed",
+    0x00000e4e => "\xee",
+    0x00000e4f => "\xef",
+    0x00000e50 => "\xf0",
+    0x00000e51 => "\xf1",
+    0x00000e52 => "\xf2",
+    0x00000e53 => "\xf3",
+    0x00000e54 => "\xf4",
+    0x00000e55 => "\xf5",
+    0x00000e56 => "\xf6",
+    0x00000e57 => "\xf7",
+    0x00000e58 => "\xf8",
+    0x00000e59 => "\xf9",
+    0x00000e5a => "\xfa",
+    0x00000e5b => "\xfb",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x000020ac => "\x80",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM874 - Conversion routines for IBM874
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM874.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+ alias CP874
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  000020AC | EURO SIGN
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000E01 | THAI CHARACTER KO KAI
+    A2 |  00000E02 | THAI CHARACTER KHO KHAI
+    A3 |  00000E03 | THAI CHARACTER KHO KHUAT
+    A4 |  00000E04 | THAI CHARACTER KHO KHWAI
+    A5 |  00000E05 | THAI CHARACTER KHO KHON
+    A6 |  00000E06 | THAI CHARACTER KHO RAKHANG
+    A7 |  00000E07 | THAI CHARACTER NGO NGU
+    A8 |  00000E08 | THAI CHARACTER CHO CHAN
+    A9 |  00000E09 | THAI CHARACTER CHO CHING
+    AA |  00000E0A | THAI CHARACTER CHO CHANG
+    AB |  00000E0B | THAI CHARACTER SO SO
+    AC |  00000E0C | THAI CHARACTER CHO CHOE
+    AD |  00000E0D | THAI CHARACTER YO YING
+    AE |  00000E0E | THAI CHARACTER DO CHADA
+    AF |  00000E0F | THAI CHARACTER TO PATAK
+    B0 |  00000E10 | THAI CHARACTER THO THAN
+    B1 |  00000E11 | THAI CHARACTER THO NANGMONTHO
+    B2 |  00000E12 | THAI CHARACTER THO PHUTHAO
+    B3 |  00000E13 | THAI CHARACTER NO NEN
+    B4 |  00000E14 | THAI CHARACTER DO DEK
+    B5 |  00000E15 | THAI CHARACTER TO TAO
+    B6 |  00000E16 | THAI CHARACTER THO THUNG
+    B7 |  00000E17 | THAI CHARACTER THO THAHAN
+    B8 |  00000E18 | THAI CHARACTER THO THONG
+    B9 |  00000E19 | THAI CHARACTER NO NU
+    BA |  00000E1A | THAI CHARACTER BO BAIMAI
+    BB |  00000E1B | THAI CHARACTER PO PLA
+    BC |  00000E1C | THAI CHARACTER PHO PHUNG
+    BD |  00000E1D | THAI CHARACTER FO FA
+    BE |  00000E1E | THAI CHARACTER PHO PHAN
+    BF |  00000E1F | THAI CHARACTER FO FAN
+    C0 |  00000E20 | THAI CHARACTER PHO SAMPHAO
+    C1 |  00000E21 | THAI CHARACTER MO MA
+    C2 |  00000E22 | THAI CHARACTER YO YAK
+    C3 |  00000E23 | THAI CHARACTER RO RUA
+    C4 |  00000E24 | THAI CHARACTER RU
+    C5 |  00000E25 | THAI CHARACTER LO LING
+    C6 |  00000E26 | THAI CHARACTER LU
+    C7 |  00000E27 | THAI CHARACTER WO WAEN
+    C8 |  00000E28 | THAI CHARACTER SO SALA
+    C9 |  00000E29 | THAI CHARACTER SO RUSI
+    CA |  00000E2A | THAI CHARACTER SO SUA
+    CB |  00000E2B | THAI CHARACTER HO HIP
+    CC |  00000E2C | THAI CHARACTER LO CHULA
+    CD |  00000E2D | THAI CHARACTER O ANG
+    CE |  00000E2E | THAI CHARACTER HO NOKHUK
+    CF |  00000E2F | THAI CHARACTER PAIYANNOI
+    D0 |  00000E30 | THAI CHARACTER SARA A
+    D1 |  00000E31 | THAI CHARACTER MAI HAN-AKAT
+    D2 |  00000E32 | THAI CHARACTER SARA AA
+    D3 |  00000E33 | THAI CHARACTER SARA AM
+    D4 |  00000E34 | THAI CHARACTER SARA I
+    D5 |  00000E35 | THAI CHARACTER SARA II
+    D6 |  00000E36 | THAI CHARACTER SARA UE
+    D7 |  00000E37 | THAI CHARACTER SARA UEE
+    D8 |  00000E38 | THAI CHARACTER SARA U
+    D9 |  00000E39 | THAI CHARACTER SARA UU
+    DA |  00000E3A | THAI CHARACTER PHINTHU
+    DF |  00000E3F | THAI CURRENCY SYMBOL BAHT
+    E0 |  00000E40 | THAI CHARACTER SARA E
+    E1 |  00000E41 | THAI CHARACTER SARA AE
+    E2 |  00000E42 | THAI CHARACTER SARA O
+    E3 |  00000E43 | THAI CHARACTER SARA AI MAIMUAN
+    E4 |  00000E44 | THAI CHARACTER SARA AI MAIMALAI
+    E5 |  00000E45 | THAI CHARACTER LAKKHANGYAO
+    E6 |  00000E46 | THAI CHARACTER MAIYAMOK
+    E7 |  00000E47 | THAI CHARACTER MAITAIKHU
+    E8 |  00000E48 | THAI CHARACTER MAI EK
+    E9 |  00000E49 | THAI CHARACTER MAI THO
+    EA |  00000E4A | THAI CHARACTER MAI TRI
+    EB |  00000E4B | THAI CHARACTER MAI CHATTAWA
+    EC |  00000E4C | THAI CHARACTER THANTHAKHAT
+    ED |  00000E4D | THAI CHARACTER NIKHAHIT
+    EE |  00000E4E | THAI CHARACTER YAMAKKAN
+    EF |  00000E4F | THAI CHARACTER FONGMAN
+    F0 |  00000E50 | THAI DIGIT ZERO
+    F1 |  00000E51 | THAI DIGIT ONE
+    F2 |  00000E52 | THAI DIGIT TWO
+    F3 |  00000E53 | THAI DIGIT THREE
+    F4 |  00000E54 | THAI DIGIT FOUR
+    F5 |  00000E55 | THAI DIGIT FIVE
+    F6 |  00000E56 | THAI DIGIT SIX
+    F7 |  00000E57 | THAI DIGIT SEVEN
+    F8 |  00000E58 | THAI DIGIT EIGHT
+    F9 |  00000E59 | THAI DIGIT NINE
+    FA |  00000E5A | THAI CHARACTER ANGKHANKHU
+    FB |  00000E5B | THAI CHARACTER KHOMUT
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM875.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM875.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM875.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM875.pm   12 Oct 2011 
23:51:40 -0000      1.1
@@ -0,0 +1,1133 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM875.pm,v 1.1 2011/10/12 23:51:40 pertusus Exp $
+
+# Conversion routines for IBM875.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM875;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x0398,
+    0x0399,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039e,
+    0x039f,
+    0x03a0,
+    0x03a1,
+    0x03a3,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0x03aa,
+    0x03ab,
+    0xfffd,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x00a8,
+    0x0386,
+    0x0388,
+    0x0389,
+    0x2207,
+    0x038a,
+    0x038c,
+    0x038e,
+    0x038f,
+    0x0060,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x0385,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0x03b6,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x00b4,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c3,
+    0x00a3,
+    0x03ac,
+    0x03ad,
+    0x03ae,
+    0x0390,
+    0x03af,
+    0x03cc,
+    0x03cd,
+    0x03b0,
+    0x03ce,
+    0x03c2,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x03c8,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x03c9,
+    0x03ca,
+    0x03cb,
+    0x2018,
+    0x2015,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x00b1,
+    0x00bd,
+    0xfffd,
+    0x00b7,
+    0x2019,
+    0x00a6,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00a7,
+    0xfffd,
+    0xfffd,
+    0x00ab,
+    0x00ac,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00a9,
+    0xfffd,
+    0xfffd,
+    0x00bb,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x98",
+    "\xce\x99",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xce\xa3",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xce\xaa",
+    "\xce\xab",
+    "\xef\xbf\xbd",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xc2\xa8",
+    "\xce\x86",
+    "\xce\x88",
+    "\xce\x89",
+    "\xe2\x88\x87",
+    "\xce\x8a",
+    "\xce\x8c",
+    "\xce\x8e",
+    "\xce\x8f",
+    "\x60",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xce\x85",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xce\xb6",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xc2\xb4",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xc2\xa3",
+    "\xce\xac",
+    "\xce\xad",
+    "\xce\xae",
+    "\xce\x90",
+    "\xce\xaf",
+    "\xcf\x8c",
+    "\xcf\x8d",
+    "\xce\xb0",
+    "\xcf\x8e",
+    "\xcf\x82",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xcf\x89",
+    "\xcf\x8a",
+    "\xcf\x8b",
+    "\xe2\x80\x98",
+    "\xe2\x80\x95",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xc2\xb1",
+    "\xc2\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb7",
+    "\xe2\x80\x99",
+    "\xc2\xa6",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc2\xa7",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc2\xa9",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xbb",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x79",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\xb0",
+    0x000000a6 => "\xdf",
+    0x000000a7 => "\xeb",
+    0x000000a8 => "\x70",
+    0x000000a9 => "\xfb",
+    0x000000ab => "\xee",
+    0x000000ac => "\xef",
+    0x000000ad => "\xca",
+    0x000000b0 => "\x90",
+    0x000000b1 => "\xda",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xa0",
+    0x000000b7 => "\xdd",
+    0x000000bb => "\xfe",
+    0x000000bd => "\xdb",
+    0x00000385 => "\x80",
+    0x00000386 => "\x71",
+    0x00000388 => "\x72",
+    0x00000389 => "\x73",
+    0x0000038a => "\x75",
+    0x0000038c => "\x76",
+    0x0000038e => "\x77",
+    0x0000038f => "\x78",
+    0x00000390 => "\xb4",
+    0x00000391 => "\x41",
+    0x00000392 => "\x42",
+    0x00000393 => "\x43",
+    0x00000394 => "\x44",
+    0x00000395 => "\x45",
+    0x00000396 => "\x46",
+    0x00000397 => "\x47",
+    0x00000398 => "\x48",
+    0x00000399 => "\x49",
+    0x0000039a => "\x51",
+    0x0000039b => "\x52",
+    0x0000039c => "\x53",
+    0x0000039d => "\x54",
+    0x0000039e => "\x55",
+    0x0000039f => "\x56",
+    0x000003a0 => "\x57",
+    0x000003a1 => "\x58",
+    0x000003a3 => "\x59",
+    0x000003a4 => "\x62",
+    0x000003a5 => "\x63",
+    0x000003a6 => "\x64",
+    0x000003a7 => "\x65",
+    0x000003a8 => "\x66",
+    0x000003a9 => "\x67",
+    0x000003aa => "\x68",
+    0x000003ab => "\x69",
+    0x000003ac => "\xb1",
+    0x000003ad => "\xb2",
+    0x000003ae => "\xb3",
+    0x000003af => "\xb5",
+    0x000003b0 => "\xb8",
+    0x000003b1 => "\x8a",
+    0x000003b2 => "\x8b",
+    0x000003b3 => "\x8c",
+    0x000003b4 => "\x8d",
+    0x000003b5 => "\x8e",
+    0x000003b6 => "\x8f",
+    0x000003b7 => "\x9a",
+    0x000003b8 => "\x9b",
+    0x000003b9 => "\x9c",
+    0x000003ba => "\x9d",
+    0x000003bb => "\x9e",
+    0x000003bc => "\x9f",
+    0x000003bd => "\xaa",
+    0x000003be => "\xab",
+    0x000003bf => "\xac",
+    0x000003c0 => "\xad",
+    0x000003c1 => "\xae",
+    0x000003c2 => "\xba",
+    0x000003c3 => "\xaf",
+    0x000003c4 => "\xbb",
+    0x000003c5 => "\xbc",
+    0x000003c6 => "\xbd",
+    0x000003c7 => "\xbe",
+    0x000003c8 => "\xbf",
+    0x000003c9 => "\xcb",
+    0x000003ca => "\xcc",
+    0x000003cb => "\xcd",
+    0x000003cc => "\xb6",
+    0x000003cd => "\xb7",
+    0x000003ce => "\xb9",
+    0x00002015 => "\xcf",
+    0x00002018 => "\xce",
+    0x00002019 => "\xde",
+    0x00002207 => "\x74",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM875 - Conversion routines for IBM875
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM875.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: UNICODE 1.0
+ alias CP875
+ alias EBCDIC-GREEK
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    42 |  00000392 | GREEK CAPITAL LETTER BETA
+    43 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    44 |  00000394 | GREEK CAPITAL LETTER DELTA
+    45 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    46 |  00000396 | GREEK CAPITAL LETTER ZETA
+    47 |  00000397 | GREEK CAPITAL LETTER ETA
+    48 |  00000398 | GREEK CAPITAL LETTER THETA
+    49 |  00000399 | GREEK CAPITAL LETTER IOTA
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  0000039A | GREEK CAPITAL LETTER KAPPA
+    52 |  0000039B | GREEK CAPITAL LETTER LAMDA
+    53 |  0000039C | GREEK CAPITAL LETTER MU
+    54 |  0000039D | GREEK CAPITAL LETTER NU
+    55 |  0000039E | GREEK CAPITAL LETTER XI
+    56 |  0000039F | GREEK CAPITAL LETTER OMICRON
+    57 |  000003A0 | GREEK CAPITAL LETTER PI
+    58 |  000003A1 | GREEK CAPITAL LETTER RHO
+    59 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000003A4 | GREEK CAPITAL LETTER TAU
+    63 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    64 |  000003A6 | GREEK CAPITAL LETTER PHI
+    65 |  000003A7 | GREEK CAPITAL LETTER CHI
+    66 |  000003A8 | GREEK CAPITAL LETTER PSI
+    67 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    68 |  000003AA | GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+    69 |  000003AB | GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  000000A8 | DIAERESIS
+    71 |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
+    72 |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
+    73 |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
+    74 |  00002207 | NABLA
+    75 |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
+    76 |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
+    77 |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
+    78 |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
+    79 |  00000060 | GRAVE ACCENT
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  00000385 | GREEK DIALYTIKA TONOS
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  000003B1 | GREEK SMALL LETTER ALPHA
+    8B |  000003B2 | GREEK SMALL LETTER BETA
+    8C |  000003B3 | GREEK SMALL LETTER GAMMA
+    8D |  000003B4 | GREEK SMALL LETTER DELTA
+    8E |  000003B5 | GREEK SMALL LETTER EPSILON
+    8F |  000003B6 | GREEK SMALL LETTER ZETA
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  000003B7 | GREEK SMALL LETTER ETA
+    9B |  000003B8 | GREEK SMALL LETTER THETA
+    9C |  000003B9 | GREEK SMALL LETTER IOTA
+    9D |  000003BA | GREEK SMALL LETTER KAPPA
+    9E |  000003BB | GREEK SMALL LETTER LAMDA
+    9F |  000003BC | GREEK SMALL LETTER MU
+    A0 |  000000B4 | ACUTE ACCENT
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  000003BD | GREEK SMALL LETTER NU
+    AB |  000003BE | GREEK SMALL LETTER XI
+    AC |  000003BF | GREEK SMALL LETTER OMICRON
+    AD |  000003C0 | GREEK SMALL LETTER PI
+    AE |  000003C1 | GREEK SMALL LETTER RHO
+    AF |  000003C3 | GREEK SMALL LETTER SIGMA
+    B0 |  000000A3 | POUND SIGN
+    B1 |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
+    B2 |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
+    B3 |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
+    B4 |  00000390 | GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+    B5 |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
+    B6 |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
+    B7 |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
+    B8 |  000003B0 | GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+    B9 |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
+    BA |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    BB |  000003C4 | GREEK SMALL LETTER TAU
+    BC |  000003C5 | GREEK SMALL LETTER UPSILON
+    BD |  000003C6 | GREEK SMALL LETTER PHI
+    BE |  000003C7 | GREEK SMALL LETTER CHI
+    BF |  000003C8 | GREEK SMALL LETTER PSI
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000003C9 | GREEK SMALL LETTER OMEGA
+    CC |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
+    CD |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+    CE |  00002018 | LEFT SINGLE QUOTATION MARK
+    CF |  00002015 | HORIZONTAL BAR
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  000000B1 | PLUS-MINUS SIGN
+    DB |  000000BD | VULGAR FRACTION ONE HALF
+    DD |  000000B7 | MIDDLE DOT
+    DE |  00002019 | RIGHT SINGLE QUOTATION MARK
+    DF |  000000A6 | BROKEN BAR
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000A7 | SECTION SIGN
+    EE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    EF |  000000AC | NOT SIGN
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000A9 | COPYRIGHT SIGN
+    FE |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM880.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM880.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM880.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM880.pm   12 Oct 2011 
23:51:40 -0000      1.1
@@ -0,0 +1,1127 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM880.pm,v 1.1 2011/10/12 23:51:40 pertusus Exp $
+
+# Conversion routines for IBM880.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM880;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0x0452,
+    0x0453,
+    0x0451,
+    0xfffd,
+    0x0455,
+    0x0456,
+    0x0457,
+    0x0458,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x0459,
+    0x045a,
+    0x045b,
+    0x045c,
+    0xfffd,
+    0x045f,
+    0x042a,
+    0x2116,
+    0x0402,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x0403,
+    0x0401,
+    0xfffd,
+    0x0405,
+    0x0406,
+    0x0407,
+    0x0408,
+    0x0409,
+    0x00a6,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x040a,
+    0x040b,
+    0x040c,
+    0xfffd,
+    0xfffd,
+    0x040f,
+    0x044e,
+    0x0430,
+    0x0431,
+    0xfffd,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0x0446,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0xfffd,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0xfffd,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0xfffd,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x005c,
+    0x00a4,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xd1\x92",
+    "\xd1\x93",
+    "\xd1\x91",
+    "\xef\xbf\xbd",
+    "\xd1\x95",
+    "\xd1\x96",
+    "\xd1\x97",
+    "\xd1\x98",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xd1\x99",
+    "\xd1\x9a",
+    "\xd1\x9b",
+    "\xd1\x9c",
+    "\xef\xbf\xbd",
+    "\xd1\x9f",
+    "\xd0\xaa",
+    "\xe2\x84\x96",
+    "\xd0\x82",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xd0\x83",
+    "\xd0\x81",
+    "\xef\xbf\xbd",
+    "\xd0\x85",
+    "\xd0\x86",
+    "\xd0\x87",
+    "\xd0\x88",
+    "\xd0\x89",
+    "\xc2\xa6",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xd0\x8a",
+    "\xd0\x8b",
+    "\xd0\x8c",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd0\x8f",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xef\xbf\xbd",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xd1\x86",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xef\xbf\xbd",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xef\xbf\xbd",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xef\xbf\xbd",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\x5c",
+    "\xc2\xa4",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a4 => "\xe1",
+    0x000000a6 => "\x6a",
+    0x00000401 => "\x63",
+    0x00000402 => "\x59",
+    0x00000403 => "\x62",
+    0x00000405 => "\x65",
+    0x00000406 => "\x66",
+    0x00000407 => "\x67",
+    0x00000408 => "\x68",
+    0x00000409 => "\x69",
+    0x0000040a => "\x70",
+    0x0000040b => "\x71",
+    0x0000040c => "\x72",
+    0x0000040f => "\x75",
+    0x00000410 => "\xb9",
+    0x00000411 => "\xba",
+    0x00000412 => "\xed",
+    0x00000413 => "\xbf",
+    0x00000414 => "\xbc",
+    0x00000415 => "\xbd",
+    0x00000416 => "\xec",
+    0x00000417 => "\xfa",
+    0x00000418 => "\xcb",
+    0x00000419 => "\xcc",
+    0x0000041a => "\xcd",
+    0x0000041b => "\xce",
+    0x0000041c => "\xcf",
+    0x0000041d => "\xda",
+    0x0000041e => "\xdb",
+    0x0000041f => "\xdc",
+    0x00000420 => "\xde",
+    0x00000421 => "\xdf",
+    0x00000422 => "\xea",
+    0x00000423 => "\xeb",
+    0x00000424 => "\xbe",
+    0x00000425 => "\xca",
+    0x00000426 => "\xbb",
+    0x00000427 => "\xfe",
+    0x00000428 => "\xfb",
+    0x00000429 => "\xfd",
+    0x0000042a => "\x57",
+    0x0000042b => "\xef",
+    0x0000042c => "\xee",
+    0x0000042d => "\xfc",
+    0x0000042e => "\xb8",
+    0x0000042f => "\xdd",
+    0x00000430 => "\x77",
+    0x00000431 => "\x78",
+    0x00000432 => "\xaf",
+    0x00000433 => "\x8d",
+    0x00000434 => "\x8a",
+    0x00000435 => "\x8b",
+    0x00000436 => "\xae",
+    0x00000437 => "\xb2",
+    0x00000438 => "\x8f",
+    0x00000439 => "\x90",
+    0x0000043a => "\x9a",
+    0x0000043b => "\x9b",
+    0x0000043c => "\x9c",
+    0x0000043d => "\x9d",
+    0x0000043e => "\x9e",
+    0x0000043f => "\x9f",
+    0x00000440 => "\xaa",
+    0x00000441 => "\xab",
+    0x00000442 => "\xac",
+    0x00000443 => "\xad",
+    0x00000444 => "\x8c",
+    0x00000445 => "\x8e",
+    0x00000446 => "\x80",
+    0x00000447 => "\xb6",
+    0x00000448 => "\xb3",
+    0x00000449 => "\xb5",
+    0x0000044a => "\xb7",
+    0x0000044b => "\xb1",
+    0x0000044c => "\xb0",
+    0x0000044d => "\xb4",
+    0x0000044e => "\x76",
+    0x0000044f => "\xa0",
+    0x00000451 => "\x44",
+    0x00000452 => "\x42",
+    0x00000453 => "\x43",
+    0x00000455 => "\x46",
+    0x00000456 => "\x47",
+    0x00000457 => "\x48",
+    0x00000458 => "\x49",
+    0x00000459 => "\x51",
+    0x0000045a => "\x52",
+    0x0000045b => "\x53",
+    0x0000045c => "\x54",
+    0x0000045f => "\x56",
+    0x00002116 => "\x58",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM880 - Conversion routines for IBM880
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM880.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP880
+ alias EBCDIC-CYRILLIC
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    42 |  00000452 | CYRILLIC SMALL LETTER DJE (Serbocroatian)
+    43 |  00000453 | CYRILLIC SMALL LETTER GJE
+    44 |  00000451 | CYRILLIC SMALL LETTER IO
+    46 |  00000455 | CYRILLIC SMALL LETTER DZE
+    47 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    48 |  00000457 | CYRILLIC SMALL LETTER YI (Ukrainian)
+    49 |  00000458 | CYRILLIC SMALL LETTER JE
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  00000459 | CYRILLIC SMALL LETTER LJE
+    52 |  0000045A | CYRILLIC SMALL LETTER NJE
+    53 |  0000045B | CYRILLIC SMALL LETTER TSHE (Serbocroatian)
+    54 |  0000045C | CYRILLIC SMALL LETTER KJE
+    56 |  0000045F | CYRILLIC SMALL LETTER DZHE
+    57 |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    58 |  00002116 | NUMERO SIGN
+    59 |  00000402 | CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    63 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    65 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    66 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    67 |  00000407 | CYRILLIC CAPITAL LETTER YI (Ukrainian)
+    68 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    69 |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    6A |  000000A6 | BROKEN BAR
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    71 |  0000040B | CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
+    72 |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    75 |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    76 |  0000044E | CYRILLIC SMALL LETTER YU
+    77 |  00000430 | CYRILLIC SMALL LETTER A
+    78 |  00000431 | CYRILLIC SMALL LETTER BE
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  00000446 | CYRILLIC SMALL LETTER TSE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  00000434 | CYRILLIC SMALL LETTER DE
+    8B |  00000435 | CYRILLIC SMALL LETTER IE
+    8C |  00000444 | CYRILLIC SMALL LETTER EF
+    8D |  00000433 | CYRILLIC SMALL LETTER GHE
+    8E |  00000445 | CYRILLIC SMALL LETTER HA
+    8F |  00000438 | CYRILLIC SMALL LETTER I
+    90 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  0000043A | CYRILLIC SMALL LETTER KA
+    9B |  0000043B | CYRILLIC SMALL LETTER EL
+    9C |  0000043C | CYRILLIC SMALL LETTER EM
+    9D |  0000043D | CYRILLIC SMALL LETTER EN
+    9E |  0000043E | CYRILLIC SMALL LETTER O
+    9F |  0000043F | CYRILLIC SMALL LETTER PE
+    A0 |  0000044F | CYRILLIC SMALL LETTER YA
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  00000440 | CYRILLIC SMALL LETTER ER
+    AB |  00000441 | CYRILLIC SMALL LETTER ES
+    AC |  00000442 | CYRILLIC SMALL LETTER TE
+    AD |  00000443 | CYRILLIC SMALL LETTER U
+    AE |  00000436 | CYRILLIC SMALL LETTER ZHE
+    AF |  00000432 | CYRILLIC SMALL LETTER VE
+    B0 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    B1 |  0000044B | CYRILLIC SMALL LETTER YERU
+    B2 |  00000437 | CYRILLIC SMALL LETTER ZE
+    B3 |  00000448 | CYRILLIC SMALL LETTER SHA
+    B4 |  0000044D | CYRILLIC SMALL LETTER E
+    B5 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    B6 |  00000447 | CYRILLIC SMALL LETTER CHE
+    B7 |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    B8 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    B9 |  00000410 | CYRILLIC CAPITAL LETTER A
+    BA |  00000411 | CYRILLIC CAPITAL LETTER BE
+    BB |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    BC |  00000414 | CYRILLIC CAPITAL LETTER DE
+    BD |  00000415 | CYRILLIC CAPITAL LETTER IE
+    BE |  00000424 | CYRILLIC CAPITAL LETTER EF
+    BF |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  00000425 | CYRILLIC CAPITAL LETTER HA
+    CB |  00000418 | CYRILLIC CAPITAL LETTER I
+    CC |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    CD |  0000041A | CYRILLIC CAPITAL LETTER KA
+    CE |  0000041B | CYRILLIC CAPITAL LETTER EL
+    CF |  0000041C | CYRILLIC CAPITAL LETTER EM
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  0000041D | CYRILLIC CAPITAL LETTER EN
+    DB |  0000041E | CYRILLIC CAPITAL LETTER O
+    DC |  0000041F | CYRILLIC CAPITAL LETTER PE
+    DD |  0000042F | CYRILLIC CAPITAL LETTER YA
+    DE |  00000420 | CYRILLIC CAPITAL LETTER ER
+    DF |  00000421 | CYRILLIC CAPITAL LETTER ES
+    E0 |  0000005C | REVERSE SOLIDUS
+    E1 |  000000A4 | CURRENCY SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  00000422 | CYRILLIC CAPITAL LETTER TE
+    EB |  00000423 | CYRILLIC CAPITAL LETTER U
+    EC |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    ED |  00000412 | CYRILLIC CAPITAL LETTER VE
+    EE |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    EF |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    FB |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    FC |  0000042D | CYRILLIC CAPITAL LETTER E
+    FD |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FE |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM891.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM891.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM891.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM891.pm   12 Oct 2011 
23:51:40 -0000      1.1
@@ -0,0 +1,890 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM891.pm,v 1.1 2011/10/12 23:51:40 pertusus Exp $
+
+# Conversion routines for IBM891.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM891;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM891 - Conversion routines for IBM891
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM891.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP891
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM903.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM903.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM903.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM903.pm   12 Oct 2011 
23:51:40 -0000      1.1
@@ -0,0 +1,890 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM903.pm,v 1.1 2011/10/12 23:51:40 pertusus Exp $
+
+# Conversion routines for IBM903.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM903;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM903 - Conversion routines for IBM903
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM903.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP903
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM904.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM904.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM904.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM904.pm   12 Oct 2011 
23:51:40 -0000      1.1
@@ -0,0 +1,897 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM904.pm,v 1.1 2011/10/12 23:51:40 pertusus Exp $
+
+# Conversion routines for IBM904.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM904;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00a2,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00ac,
+    0x00a6,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\xa2",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xac",
+    "\xc2\xa6",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a2 => "\x80",
+    0x000000a6 => "\xfe",
+    0x000000ac => "\xfd",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM904 - Conversion routines for IBM904
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM904.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP904
+ alias 904
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000A2 | CENT SIGN
+    FD |  000000AC | NOT SIGN
+    FE |  000000A6 | BROKEN BAR
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM905.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM905.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM905.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM905.pm   12 Oct 2011 
23:51:41 -0000      1.1
@@ -0,0 +1,1129 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM905.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for IBM905.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM905;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0xfffd,
+    0x00e2,
+    0x00e4,
+    0x00e0,
+    0x00e1,
+    0xfffd,
+    0x010b,
+    0x007b,
+    0x00f1,
+    0x00c7,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00e8,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00ec,
+    0x00df,
+    0x011e,
+    0x0130,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0x00c2,
+    0x00c4,
+    0x00c0,
+    0x00c1,
+    0xfffd,
+    0x010a,
+    0x005b,
+    0x00d1,
+    0x015f,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0xfffd,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x0131,
+    0x003a,
+    0x00d6,
+    0x015e,
+    0x0027,
+    0x003d,
+    0x00dc,
+    0x02d8,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x0127,
+    0x0109,
+    0x015d,
+    0x016d,
+    0xfffd,
+    0x007c,
+    0x00b0,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0125,
+    0x011d,
+    0x0135,
+    0x02db,
+    0xfffd,
+    0x00a4,
+    0x00b5,
+    0x00f6,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x0126,
+    0x0108,
+    0x015c,
+    0x016c,
+    0xfffd,
+    0x0040,
+    0x00b7,
+    0x00a3,
+    0x017c,
+    0x007d,
+    0x017b,
+    0x00a7,
+    0x005d,
+    0xfffd,
+    0x00bd,
+    0x0024,
+    0x0124,
+    0x011c,
+    0x0134,
+    0x00a8,
+    0x00b4,
+    0x00d7,
+    0x00e7,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0x00f4,
+    0x007e,
+    0x00f2,
+    0x00f3,
+    0x0121,
+    0x011f,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0060,
+    0x00fb,
+    0x005c,
+    0x00f9,
+    0x00fa,
+    0xfffd,
+    0x00fc,
+    0x00f7,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00b2,
+    0x00d4,
+    0x0023,
+    0x00d2,
+    0x00d3,
+    0x0120,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x00b3,
+    0x00db,
+    0x0022,
+    0x00d9,
+    0x00da,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xef\xbf\xbd",
+    "\xc4\x8b",
+    "\x7b",
+    "\xc3\xb1",
+    "\xc3\x87",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xa8",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xac",
+    "\xc3\x9f",
+    "\xc4\x9e",
+    "\xc4\xb0",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xc3\x82",
+    "\xc3\x84",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xef\xbf\xbd",
+    "\xc4\x8a",
+    "\x5b",
+    "\xc3\x91",
+    "\xc5\x9f",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xef\xbf\xbd",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc4\xb1",
+    "\x3a",
+    "\xc3\x96",
+    "\xc5\x9e",
+    "\x27",
+    "\x3d",
+    "\xc3\x9c",
+    "\xcb\x98",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xc4\xa7",
+    "\xc4\x89",
+    "\xc5\x9d",
+    "\xc5\xad",
+    "\xef\xbf\xbd",
+    "\x7c",
+    "\xc2\xb0",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xc4\xa5",
+    "\xc4\x9d",
+    "\xc4\xb5",
+    "\xcb\x9b",
+    "\xef\xbf\xbd",
+    "\xc2\xa4",
+    "\xc2\xb5",
+    "\xc3\xb6",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc4\xa6",
+    "\xc4\x88",
+    "\xc5\x9c",
+    "\xc5\xac",
+    "\xef\xbf\xbd",
+    "\x40",
+    "\xc2\xb7",
+    "\xc2\xa3",
+    "\xc5\xbc",
+    "\x7d",
+    "\xc5\xbb",
+    "\xc2\xa7",
+    "\x5d",
+    "\xef\xbf\xbd",
+    "\xc2\xbd",
+    "\x24",
+    "\xc4\xa4",
+    "\xc4\x9c",
+    "\xc4\xb4",
+    "\xc2\xa8",
+    "\xc2\xb4",
+    "\xc3\x97",
+    "\xc3\xa7",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xc3\xb4",
+    "\x7e",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc4\xa1",
+    "\xc4\x9f",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x60",
+    "\xc3\xbb",
+    "\x5c",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xef\xbf\xbd",
+    "\xc3\xbc",
+    "\xc3\xb7",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc2\xb2",
+    "\xc3\x94",
+    "\x23",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc4\xa0",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xc2\xb3",
+    "\xc3\x9b",
+    "\x22",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\xfc",
+    0x00000023 => "\xec",
+    0x00000024 => "\xb9",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\xaf",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x68",
+    0x0000005c => "\xdc",
+    0x0000005d => "\xb6",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\xda",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\x48",
+    0x0000007c => "\x8f",
+    0x0000007d => "\xb3",
+    0x0000007e => "\xcc",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a3 => "\xb1",
+    0x000000a4 => "\x9f",
+    0x000000a7 => "\xb5",
+    0x000000a8 => "\xbd",
+    0x000000ad => "\xca",
+    0x000000b0 => "\x90",
+    0x000000b2 => "\xea",
+    0x000000b3 => "\xfa",
+    0x000000b4 => "\xbe",
+    0x000000b5 => "\xa0",
+    0x000000b7 => "\xb0",
+    0x000000bd => "\xb8",
+    0x000000c0 => "\x64",
+    0x000000c1 => "\x65",
+    0x000000c2 => "\x62",
+    0x000000c4 => "\x63",
+    0x000000c7 => "\x4a",
+    0x000000c8 => "\x74",
+    0x000000c9 => "\x71",
+    0x000000ca => "\x72",
+    0x000000cb => "\x73",
+    0x000000cc => "\x78",
+    0x000000cd => "\x75",
+    0x000000ce => "\x76",
+    0x000000cf => "\x77",
+    0x000000d1 => "\x69",
+    0x000000d2 => "\xed",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xeb",
+    0x000000d6 => "\x7b",
+    0x000000d7 => "\xbf",
+    0x000000d9 => "\xfd",
+    0x000000da => "\xfe",
+    0x000000db => "\xfb",
+    0x000000dc => "\x7f",
+    0x000000df => "\x59",
+    0x000000e0 => "\x44",
+    0x000000e1 => "\x45",
+    0x000000e2 => "\x42",
+    0x000000e4 => "\x43",
+    0x000000e7 => "\xc0",
+    0x000000e8 => "\x54",
+    0x000000e9 => "\x51",
+    0x000000ea => "\x52",
+    0x000000eb => "\x53",
+    0x000000ec => "\x58",
+    0x000000ed => "\x55",
+    0x000000ee => "\x56",
+    0x000000ef => "\x57",
+    0x000000f1 => "\x49",
+    0x000000f2 => "\xcd",
+    0x000000f3 => "\xce",
+    0x000000f4 => "\xcb",
+    0x000000f6 => "\xa1",
+    0x000000f7 => "\xe1",
+    0x000000f9 => "\xdd",
+    0x000000fa => "\xde",
+    0x000000fb => "\xdb",
+    0x000000fc => "\xe0",
+    0x00000108 => "\xab",
+    0x00000109 => "\x8b",
+    0x0000010a => "\x67",
+    0x0000010b => "\x47",
+    0x0000011c => "\xbb",
+    0x0000011d => "\x9b",
+    0x0000011e => "\x5a",
+    0x0000011f => "\xd0",
+    0x00000120 => "\xef",
+    0x00000121 => "\xcf",
+    0x00000124 => "\xba",
+    0x00000125 => "\x9a",
+    0x00000126 => "\xaa",
+    0x00000127 => "\x8a",
+    0x00000130 => "\x5b",
+    0x00000131 => "\x79",
+    0x00000134 => "\xbc",
+    0x00000135 => "\x9c",
+    0x0000015c => "\xac",
+    0x0000015d => "\x8c",
+    0x0000015e => "\x7c",
+    0x0000015f => "\x6a",
+    0x0000016c => "\xad",
+    0x0000016d => "\x8d",
+    0x0000017b => "\xb4",
+    0x0000017c => "\xb2",
+    0x000002d8 => "\x80",
+    0x000002db => "\x9d",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM905 - Conversion routines for IBM905
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM905.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990
+ alias CP905
+ alias EBCDIC-CP-TR
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    44 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    47 |  0000010B | LATIN SMALL LETTER C WITH DOT ABOVE
+    48 |  0000007B | LEFT CURLY BRACKET
+    49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    4A |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    54 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    5A |  0000011E | LATIN CAPITAL LETTER G WITH BREVE
+    5B |  00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    67 |  0000010A | LATIN CAPITAL LETTER C WITH DOT ABOVE
+    68 |  0000005B | LEFT SQUARE BRACKET
+    69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    6A |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    79 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    7A |  0000003A | COLON
+    7B |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    7C |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    80 |  000002D8 | BREVE
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  00000127 | LATIN SMALL LETTER H WITH STROKE
+    8B |  00000109 | LATIN SMALL LETTER C WITH CIRCUMFLEX
+    8C |  0000015D | LATIN SMALL LETTER S WITH CIRCUMFLEX
+    8D |  0000016D | LATIN SMALL LETTER U WITH BREVE
+    8F |  0000007C | VERTICAL LINE
+    90 |  000000B0 | DEGREE SIGN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  00000125 | LATIN SMALL LETTER H WITH CIRCUMFLEX
+    9B |  0000011D | LATIN SMALL LETTER G WITH CIRCUMFLEX
+    9C |  00000135 | LATIN SMALL LETTER J WITH CIRCUMFLEX
+    9D |  000002DB | OGONEK
+    9F |  000000A4 | CURRENCY SIGN
+    A0 |  000000B5 | MICRO SIGN
+    A1 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  00000126 | LATIN CAPITAL LETTER H WITH STROKE
+    AB |  00000108 | LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+    AC |  0000015C | LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+    AD |  0000016C | LATIN CAPITAL LETTER U WITH BREVE
+    AF |  00000040 | COMMERCIAL AT
+    B0 |  000000B7 | MIDDLE DOT
+    B1 |  000000A3 | POUND SIGN
+    B2 |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    B3 |  0000007D | RIGHT CURLY BRACKET
+    B4 |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    B5 |  000000A7 | SECTION SIGN
+    B6 |  0000005D | RIGHT SQUARE BRACKET
+    B8 |  000000BD | VULGAR FRACTION ONE HALF
+    B9 |  00000024 | DOLLAR SIGN
+    BA |  00000124 | LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+    BB |  0000011C | LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+    BC |  00000134 | LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+    BD |  000000A8 | DIAERESIS
+    BE |  000000B4 | ACUTE ACCENT
+    BF |  000000D7 | MULTIPLICATION SIGN
+    C0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    CC |  0000007E | TILDE
+    CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    CF |  00000121 | LATIN SMALL LETTER G WITH DOT ABOVE
+    D0 |  0000011F | LATIN SMALL LETTER G WITH BREVE
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  00000060 | GRAVE ACCENT
+    DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    DC |  0000005C | REVERSE SOLIDUS
+    DD |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    E0 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    E1 |  000000F7 | DIVISION SIGN
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  000000B2 | SUPERSCRIPT TWO
+    EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    EC |  00000023 | NUMBER SIGN
+    ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  00000120 | LATIN CAPITAL LETTER G WITH DOT ABOVE
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FA |  000000B3 | SUPERSCRIPT THREE
+    FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    FC |  00000022 | QUOTATION MARK
+    FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM918.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM918.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM918.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IBM918.pm   12 Oct 2011 
23:51:41 -0000      1.1
@@ -0,0 +1,1095 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IBM918.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for IBM918.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IBM918;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x009c,
+    0x0009,
+    0x0086,
+    0x007f,
+    0x0097,
+    0x008d,
+    0x008e,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x009d,
+    0x0085,
+    0x0008,
+    0x0087,
+    0x0018,
+    0x0019,
+    0x0092,
+    0x008f,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x000a,
+    0x0017,
+    0x001b,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0090,
+    0x0091,
+    0x0016,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0004,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x0014,
+    0x0015,
+    0x009e,
+    0x001a,
+    0x0020,
+    0x00a0,
+    0x060c,
+    0x061b,
+    0x061f,
+    0x0623,
+    0x0627,
+    0xfe8e,
+    0xfffd,
+    0x0628,
+    0x005b,
+    0x002e,
+    0x003c,
+    0x0028,
+    0x002b,
+    0x0021,
+    0x0026,
+    0xfe91,
+    0x067e,
+    0xfffd,
+    0x0629,
+    0x062a,
+    0xfe97,
+    0xfffd,
+    0xfffd,
+    0x062b,
+    0x005d,
+    0x0024,
+    0x002a,
+    0x0029,
+    0x003b,
+    0x005e,
+    0x002d,
+    0x002f,
+    0xfe9b,
+    0x062c,
+    0xfe9f,
+    0xfffd,
+    0xfffd,
+    0x062d,
+    0xfea3,
+    0x062e,
+    0x0060,
+    0x002c,
+    0x0025,
+    0x005f,
+    0x003e,
+    0x003f,
+    0x0660,
+    0x0661,
+    0x0662,
+    0x0663,
+    0x0664,
+    0x0665,
+    0x0666,
+    0x0667,
+    0x0668,
+    0x0669,
+    0x003a,
+    0x0023,
+    0x0040,
+    0x0027,
+    0x003d,
+    0x0022,
+    0xfea7,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x062f,
+    0xfffd,
+    0x0630,
+    0x0631,
+    0xfffd,
+    0x0632,
+    0xfffd,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0633,
+    0xfeb3,
+    0x0634,
+    0xfeb7,
+    0x0635,
+    0xfebb,
+    0x0636,
+    0x007e,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfebf,
+    0x0637,
+    0x0638,
+    0x0639,
+    0xfeca,
+    0xfecb,
+    0xfecc,
+    0x063a,
+    0xfece,
+    0xfecf,
+    0xfed0,
+    0x0641,
+    0xfed3,
+    0x0642,
+    0xfed7,
+    0x0643,
+    0xfedb,
+    0x007c,
+    0xfffd,
+    0xfffd,
+    0x0644,
+    0xfede,
+    0x007b,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x00ad,
+    0xfffd,
+    0x0645,
+    0xfee3,
+    0xfffd,
+    0x0646,
+    0x007d,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0xfee7,
+    0xfffd,
+    0x0648,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005c,
+    0xfffd,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x0621,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0651,
+    0xfe7d,
+    0x009f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\xc2\x9c",
+    "\x09",
+    "\xc2\x86",
+    "\x7f",
+    "\xc2\x97",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xc2\x9d",
+    "\xc2\x85",
+    "\x08",
+    "\xc2\x87",
+    "\x18",
+    "\x19",
+    "\xc2\x92",
+    "\xc2\x8f",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\x0a",
+    "\x17",
+    "\x1b",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\x16",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\x04",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\x14",
+    "\x15",
+    "\xc2\x9e",
+    "\x1a",
+    "\x20",
+    "\xc2\xa0",
+    "\xd8\x8c",
+    "\xd8\x9b",
+    "\xd8\x9f",
+    "\xd8\xa3",
+    "\xd8\xa7",
+    "\xef\xba\x8e",
+    "\xef\xbf\xbd",
+    "\xd8\xa8",
+    "\x5b",
+    "\x2e",
+    "\x3c",
+    "\x28",
+    "\x2b",
+    "\x21",
+    "\x26",
+    "\xef\xba\x91",
+    "\xd9\xbe",
+    "\xef\xbf\xbd",
+    "\xd8\xa9",
+    "\xd8\xaa",
+    "\xef\xba\x97",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\xab",
+    "\x5d",
+    "\x24",
+    "\x2a",
+    "\x29",
+    "\x3b",
+    "\x5e",
+    "\x2d",
+    "\x2f",
+    "\xef\xba\x9b",
+    "\xd8\xac",
+    "\xef\xba\x9f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\xad",
+    "\xef\xba\xa3",
+    "\xd8\xae",
+    "\x60",
+    "\x2c",
+    "\x25",
+    "\x5f",
+    "\x3e",
+    "\x3f",
+    "\xd9\xa0",
+    "\xd9\xa1",
+    "\xd9\xa2",
+    "\xd9\xa3",
+    "\xd9\xa4",
+    "\xd9\xa5",
+    "\xd9\xa6",
+    "\xd9\xa7",
+    "\xd9\xa8",
+    "\xd9\xa9",
+    "\x3a",
+    "\x23",
+    "\x40",
+    "\x27",
+    "\x3d",
+    "\x22",
+    "\xef\xba\xa7",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\xd8\xaf",
+    "\xef\xbf\xbd",
+    "\xd8\xb0",
+    "\xd8\xb1",
+    "\xef\xbf\xbd",
+    "\xd8\xb2",
+    "\xef\xbf\xbd",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\xd8\xb3",
+    "\xef\xba\xb3",
+    "\xd8\xb4",
+    "\xef\xba\xb7",
+    "\xd8\xb5",
+    "\xef\xba\xbb",
+    "\xd8\xb6",
+    "\x7e",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xba\xbf",
+    "\xd8\xb7",
+    "\xd8\xb8",
+    "\xd8\xb9",
+    "\xef\xbb\x8a",
+    "\xef\xbb\x8b",
+    "\xef\xbb\x8c",
+    "\xd8\xba",
+    "\xef\xbb\x8e",
+    "\xef\xbb\x8f",
+    "\xef\xbb\x90",
+    "\xd9\x81",
+    "\xef\xbb\x93",
+    "\xd9\x82",
+    "\xef\xbb\x97",
+    "\xd9\x83",
+    "\xef\xbb\x9b",
+    "\x7c",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd9\x84",
+    "\xef\xbb\x9e",
+    "\x7b",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\xc2\xad",
+    "\xef\xbf\xbd",
+    "\xd9\x85",
+    "\xef\xbb\xa3",
+    "\xef\xbf\xbd",
+    "\xd9\x86",
+    "\x7d",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\xef\xbb\xa7",
+    "\xef\xbf\xbd",
+    "\xd9\x88",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5c",
+    "\xef\xbf\xbd",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xd8\xa1",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd9\x91",
+    "\xef\xb9\xbd",
+    "\xc2\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x37",
+    0x00000005 => "\x2d",
+    0x00000006 => "\x2e",
+    0x00000007 => "\x2f",
+    0x00000008 => "\x16",
+    0x00000009 => "\x05",
+    0x0000000a => "\x25",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x3c",
+    0x00000015 => "\x3d",
+    0x00000016 => "\x32",
+    0x00000017 => "\x26",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x3f",
+    0x0000001b => "\x27",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x40",
+    0x00000021 => "\x4f",
+    0x00000022 => "\x7f",
+    0x00000023 => "\x7b",
+    0x00000024 => "\x5b",
+    0x00000025 => "\x6c",
+    0x00000026 => "\x50",
+    0x00000027 => "\x7d",
+    0x00000028 => "\x4d",
+    0x00000029 => "\x5d",
+    0x0000002a => "\x5c",
+    0x0000002b => "\x4e",
+    0x0000002c => "\x6b",
+    0x0000002d => "\x60",
+    0x0000002e => "\x4b",
+    0x0000002f => "\x61",
+    0x00000030 => "\xf0",
+    0x00000031 => "\xf1",
+    0x00000032 => "\xf2",
+    0x00000033 => "\xf3",
+    0x00000034 => "\xf4",
+    0x00000035 => "\xf5",
+    0x00000036 => "\xf6",
+    0x00000037 => "\xf7",
+    0x00000038 => "\xf8",
+    0x00000039 => "\xf9",
+    0x0000003a => "\x7a",
+    0x0000003b => "\x5e",
+    0x0000003c => "\x4c",
+    0x0000003d => "\x7e",
+    0x0000003e => "\x6e",
+    0x0000003f => "\x6f",
+    0x00000040 => "\x7c",
+    0x00000041 => "\xc1",
+    0x00000042 => "\xc2",
+    0x00000043 => "\xc3",
+    0x00000044 => "\xc4",
+    0x00000045 => "\xc5",
+    0x00000046 => "\xc6",
+    0x00000047 => "\xc7",
+    0x00000048 => "\xc8",
+    0x00000049 => "\xc9",
+    0x0000004a => "\xd1",
+    0x0000004b => "\xd2",
+    0x0000004c => "\xd3",
+    0x0000004d => "\xd4",
+    0x0000004e => "\xd5",
+    0x0000004f => "\xd6",
+    0x00000050 => "\xd7",
+    0x00000051 => "\xd8",
+    0x00000052 => "\xd9",
+    0x00000053 => "\xe2",
+    0x00000054 => "\xe3",
+    0x00000055 => "\xe4",
+    0x00000056 => "\xe5",
+    0x00000057 => "\xe6",
+    0x00000058 => "\xe7",
+    0x00000059 => "\xe8",
+    0x0000005a => "\xe9",
+    0x0000005b => "\x4a",
+    0x0000005c => "\xe0",
+    0x0000005d => "\x5a",
+    0x0000005e => "\x5f",
+    0x0000005f => "\x6d",
+    0x00000060 => "\x6a",
+    0x00000061 => "\x81",
+    0x00000062 => "\x82",
+    0x00000063 => "\x83",
+    0x00000064 => "\x84",
+    0x00000065 => "\x85",
+    0x00000066 => "\x86",
+    0x00000067 => "\x87",
+    0x00000068 => "\x88",
+    0x00000069 => "\x89",
+    0x0000006a => "\x91",
+    0x0000006b => "\x92",
+    0x0000006c => "\x93",
+    0x0000006d => "\x94",
+    0x0000006e => "\x95",
+    0x0000006f => "\x96",
+    0x00000070 => "\x97",
+    0x00000071 => "\x98",
+    0x00000072 => "\x99",
+    0x00000073 => "\xa2",
+    0x00000074 => "\xa3",
+    0x00000075 => "\xa4",
+    0x00000076 => "\xa5",
+    0x00000077 => "\xa6",
+    0x00000078 => "\xa7",
+    0x00000079 => "\xa8",
+    0x0000007a => "\xa9",
+    0x0000007b => "\xc0",
+    0x0000007c => "\xbb",
+    0x0000007d => "\xd0",
+    0x0000007e => "\xa1",
+    0x0000007f => "\x07",
+    0x00000080 => "\x20",
+    0x00000081 => "\x21",
+    0x00000082 => "\x22",
+    0x00000083 => "\x23",
+    0x00000084 => "\x24",
+    0x00000085 => "\x15",
+    0x00000086 => "\x06",
+    0x00000087 => "\x17",
+    0x00000088 => "\x28",
+    0x00000089 => "\x29",
+    0x0000008a => "\x2a",
+    0x0000008b => "\x2b",
+    0x0000008c => "\x2c",
+    0x0000008d => "\x09",
+    0x0000008e => "\x0a",
+    0x0000008f => "\x1b",
+    0x00000090 => "\x30",
+    0x00000091 => "\x31",
+    0x00000092 => "\x1a",
+    0x00000093 => "\x33",
+    0x00000094 => "\x34",
+    0x00000095 => "\x35",
+    0x00000096 => "\x36",
+    0x00000097 => "\x08",
+    0x00000098 => "\x38",
+    0x00000099 => "\x39",
+    0x0000009a => "\x3a",
+    0x0000009b => "\x3b",
+    0x0000009c => "\x04",
+    0x0000009d => "\x14",
+    0x0000009e => "\x3e",
+    0x0000009f => "\xff",
+    0x000000a0 => "\x41",
+    0x000000ad => "\xca",
+    0x0000060c => "\x42",
+    0x0000061b => "\x43",
+    0x0000061f => "\x44",
+    0x00000621 => "\xea",
+    0x00000623 => "\x45",
+    0x00000627 => "\x46",
+    0x00000628 => "\x49",
+    0x00000629 => "\x54",
+    0x0000062a => "\x55",
+    0x0000062b => "\x59",
+    0x0000062c => "\x63",
+    0x0000062d => "\x67",
+    0x0000062e => "\x69",
+    0x0000062f => "\x8a",
+    0x00000630 => "\x8c",
+    0x00000631 => "\x8d",
+    0x00000632 => "\x8f",
+    0x00000633 => "\x9a",
+    0x00000634 => "\x9c",
+    0x00000635 => "\x9e",
+    0x00000636 => "\xa0",
+    0x00000637 => "\xab",
+    0x00000638 => "\xac",
+    0x00000639 => "\xad",
+    0x0000063a => "\xb1",
+    0x00000641 => "\xb5",
+    0x00000642 => "\xb7",
+    0x00000643 => "\xb9",
+    0x00000644 => "\xbe",
+    0x00000645 => "\xcc",
+    0x00000646 => "\xcf",
+    0x00000648 => "\xdc",
+    0x00000651 => "\xfd",
+    0x00000660 => "\x70",
+    0x00000661 => "\x71",
+    0x00000662 => "\x72",
+    0x00000663 => "\x73",
+    0x00000664 => "\x74",
+    0x00000665 => "\x75",
+    0x00000666 => "\x76",
+    0x00000667 => "\x77",
+    0x00000668 => "\x78",
+    0x00000669 => "\x79",
+    0x0000067e => "\x52",
+    0x0000fe7d => "\xfe",
+    0x0000fe8e => "\x47",
+    0x0000fe91 => "\x51",
+    0x0000fe97 => "\x56",
+    0x0000fe9b => "\x62",
+    0x0000fe9f => "\x64",
+    0x0000fea3 => "\x68",
+    0x0000fea7 => "\x80",
+    0x0000feb3 => "\x9b",
+    0x0000feb7 => "\x9d",
+    0x0000febb => "\x9f",
+    0x0000febf => "\xaa",
+    0x0000feca => "\xae",
+    0x0000fecb => "\xaf",
+    0x0000fecc => "\xb0",
+    0x0000fece => "\xb2",
+    0x0000fecf => "\xb3",
+    0x0000fed0 => "\xb4",
+    0x0000fed3 => "\xb6",
+    0x0000fed7 => "\xb8",
+    0x0000fedb => "\xba",
+    0x0000fede => "\xbf",
+    0x0000fee3 => "\xcd",
+    0x0000fee7 => "\xda",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x6f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IBM918 - Conversion routines for IBM918
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IBM918.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
+ alias CP918
+ alias EBCDIC-CP-AR2
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  0000009C | STRING TERMINATOR (ST)
+    05 |  00000009 | CHARACTER TABULATION (HT)
+    06 |  00000086 | START OF SELECTED AREA (SSA)
+    07 |  0000007F | DELETE (DEL)
+    08 |  00000097 | END OF GUARDED AREA (EPA)
+    09 |  0000008D | REVERSE LINE FEED (RI)
+    0A |  0000008E | SINGLE-SHIFT TWO (SS2)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    15 |  00000085 | NEXT LINE (NEL)
+    16 |  00000008 | BACKSPACE (BS)
+    17 |  00000087 | END OF SELECTED AREA (ESA)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  00000092 | PRIVATE USE TWO (PU2)
+    1B |  0000008F | SINGLE-SHIFT THREE (SS3)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000080 | PADDING CHARACTER (PAD)
+    21 |  00000081 | HIGH OCTET PRESET (HOP)
+    22 |  00000082 | BREAK PERMITTED HERE (BPH)
+    23 |  00000083 | NO BREAK HERE (NBH)
+    24 |  00000084 | INDEX (IND)
+    25 |  0000000A | LINE FEED (LF)
+    26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    27 |  0000001B | ESCAPE (ESC)
+    28 |  00000088 | CHARACTER TABULATION SET (HTS)
+    29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    2A |  0000008A | LINE TABULATION SET (VTS)
+    2B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    2D |  00000005 | ENQUIRY (ENQ)
+    2E |  00000006 | ACKNOWLEDGE (ACK)
+    2F |  00000007 | BELL (BEL)
+    30 |  00000090 | DEVICE CONTROL STRING (DCS)
+    31 |  00000091 | PRIVATE USE ONE (PU1)
+    32 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    33 |  00000093 | SET TRANSMIT STATE (STS)
+    34 |  00000094 | CANCEL CHARACTER (CCH)
+    35 |  00000095 | MESSAGE WAITING (MW)
+    36 |  00000096 | START OF GUARDED AREA (SPA)
+    37 |  00000004 | END OF TRANSMISSION (EOT)
+    38 |  00000098 | START OF STRING (SOS)
+    39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    3C |  00000014 | DEVICE CONTROL FOUR (DC4)
+    3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    3E |  0000009E | PRIVACY MESSAGE (PM)
+    3F |  0000001A | SUBSTITUTE (SUB)
+    40 |  00000020 | SPACE
+    41 |  000000A0 | NO-BREAK SPACE
+    42 |  0000060C | ARABIC COMMA
+    43 |  0000061B | ARABIC SEMICOLON
+    44 |  0000061F | ARABIC QUESTION MARK
+    45 |  00000623 | ARABIC LETTER ALEF WITH HAMZA ABOVE
+    46 |  00000627 | ARABIC LETTER ALEF
+    47 |  0000FE8E | ARABIC LETTER ALEF FINAL FORM
+    49 |  00000628 | ARABIC LETTER BEH
+    4A |  0000005B | LEFT SQUARE BRACKET
+    4B |  0000002E | FULL STOP
+    4C |  0000003C | LESS-THAN SIGN
+    4D |  00000028 | LEFT PARENTHESIS
+    4E |  0000002B | PLUS SIGN
+    4F |  00000021 | EXCLAMATION MARK
+    50 |  00000026 | AMPERSAND
+    51 |  0000FE91 | ARABIC LETTER BEH INITIAL FORM
+    52 |  0000067E | ARABIC LETTER PEH
+    54 |  00000629 | ARABIC LETTER TEH MARBUTA
+    55 |  0000062A | ARABIC LETTER TEH
+    56 |  0000FE97 | ARABIC LETTER TEH INITIAL FORM
+    59 |  0000062B | ARABIC LETTER THEH
+    5A |  0000005D | RIGHT SQUARE BRACKET
+    5B |  00000024 | DOLLAR SIGN
+    5C |  0000002A | ASTERISK
+    5D |  00000029 | RIGHT PARENTHESIS
+    5E |  0000003B | SEMICOLON
+    5F |  0000005E | CIRCUMFLEX ACCENT
+    60 |  0000002D | HYPHEN-MINUS
+    61 |  0000002F | SOLIDUS
+    62 |  0000FE9B | ARABIC LETTER THEH INITIAL FORM
+    63 |  0000062C | ARABIC LETTER JEEM
+    64 |  0000FE9F | ARABIC LETTER JEEM INITIAL FORM
+    67 |  0000062D | ARABIC LETTER HAH
+    68 |  0000FEA3 | ARABIC LETTER HAH INITIAL FORM
+    69 |  0000062E | ARABIC LETTER KHAH
+    6A |  00000060 | GRAVE ACCENT
+    6B |  0000002C | COMMA
+    6C |  00000025 | PERCENT SIGN
+    6D |  0000005F | LOW LINE
+    6E |  0000003E | GREATER-THAN SIGN
+    6F |  0000003F | QUESTION MARK
+    70 |  00000660 | ARABIC-INDIC DIGIT ZERO
+    71 |  00000661 | ARABIC-INDIC DIGIT ONE
+    72 |  00000662 | ARABIC-INDIC DIGIT TWO
+    73 |  00000663 | ARABIC-INDIC DIGIT THREE
+    74 |  00000664 | ARABIC-INDIC DIGIT FOUR
+    75 |  00000665 | ARABIC-INDIC DIGIT FIVE
+    76 |  00000666 | ARABIC-INDIC DIGIT SIX
+    77 |  00000667 | ARABIC-INDIC DIGIT SEVEN
+    78 |  00000668 | ARABIC-INDIC DIGIT EIGHT
+    79 |  00000669 | ARABIC-INDIC DIGIT NINE
+    7A |  0000003A | COLON
+    7B |  00000023 | NUMBER SIGN
+    7C |  00000040 | COMMERCIAL AT
+    7D |  00000027 | APOSTROPHE
+    7E |  0000003D | EQUALS SIGN
+    7F |  00000022 | QUOTATION MARK
+    80 |  0000FEA7 | ARABIC LETTER KHAH INITIAL FORM
+    81 |  00000061 | LATIN SMALL LETTER A
+    82 |  00000062 | LATIN SMALL LETTER B
+    83 |  00000063 | LATIN SMALL LETTER C
+    84 |  00000064 | LATIN SMALL LETTER D
+    85 |  00000065 | LATIN SMALL LETTER E
+    86 |  00000066 | LATIN SMALL LETTER F
+    87 |  00000067 | LATIN SMALL LETTER G
+    88 |  00000068 | LATIN SMALL LETTER H
+    89 |  00000069 | LATIN SMALL LETTER I
+    8A |  0000062F | ARABIC LETTER DAL
+    8C |  00000630 | ARABIC LETTER THAL
+    8D |  00000631 | ARABIC LETTER REH
+    8F |  00000632 | ARABIC LETTER ZAIN
+    91 |  0000006A | LATIN SMALL LETTER J
+    92 |  0000006B | LATIN SMALL LETTER K
+    93 |  0000006C | LATIN SMALL LETTER L
+    94 |  0000006D | LATIN SMALL LETTER M
+    95 |  0000006E | LATIN SMALL LETTER N
+    96 |  0000006F | LATIN SMALL LETTER O
+    97 |  00000070 | LATIN SMALL LETTER P
+    98 |  00000071 | LATIN SMALL LETTER Q
+    99 |  00000072 | LATIN SMALL LETTER R
+    9A |  00000633 | ARABIC LETTER SEEN
+    9B |  0000FEB3 | ARABIC LETTER SEEN INITIAL FORM
+    9C |  00000634 | ARABIC LETTER SHEEN
+    9D |  0000FEB7 | ARABIC LETTER SHEEN INITIAL FORM
+    9E |  00000635 | ARABIC LETTER SAD
+    9F |  0000FEBB | ARABIC LETTER SAD INITIAL FORM
+    A0 |  00000636 | ARABIC LETTER DAD
+    A1 |  0000007E | TILDE
+    A2 |  00000073 | LATIN SMALL LETTER S
+    A3 |  00000074 | LATIN SMALL LETTER T
+    A4 |  00000075 | LATIN SMALL LETTER U
+    A5 |  00000076 | LATIN SMALL LETTER V
+    A6 |  00000077 | LATIN SMALL LETTER W
+    A7 |  00000078 | LATIN SMALL LETTER X
+    A8 |  00000079 | LATIN SMALL LETTER Y
+    A9 |  0000007A | LATIN SMALL LETTER Z
+    AA |  0000FEBF | ARABIC LETTER DAD INITIAL FORM
+    AB |  00000637 | ARABIC LETTER TAH
+    AC |  00000638 | ARABIC LETTER ZAH
+    AD |  00000639 | ARABIC LETTER AIN
+    AE |  0000FECA | ARABIC LETTER AIN FINAL FORM
+    AF |  0000FECB | ARABIC LETTER AIN INITIAL FORM
+    B0 |  0000FECC | ARABIC LETTER AIN MEDIAL FORM
+    B1 |  0000063A | ARABIC LETTER GHAIN
+    B2 |  0000FECE | ARABIC LETTER GHAIN FINAL FORM
+    B3 |  0000FECF | ARABIC LETTER GHAIN INITIAL FORM
+    B4 |  0000FED0 | ARABIC LETTER GHAIN MEDIAL FORM
+    B5 |  00000641 | ARABIC LETTER FEH
+    B6 |  0000FED3 | ARABIC LETTER FEH INITIAL FORM
+    B7 |  00000642 | ARABIC LETTER QAF
+    B8 |  0000FED7 | ARABIC LETTER QAF INITIAL FORM
+    B9 |  00000643 | ARABIC LETTER KAF
+    BA |  0000FEDB | ARABIC LETTER KAF INITIAL FORM
+    BB |  0000007C | VERTICAL LINE
+    BE |  00000644 | ARABIC LETTER LAM
+    BF |  0000FEDE | ARABIC LETTER LAM FINAL FORM
+    C0 |  0000007B | LEFT CURLY BRACKET
+    C1 |  00000041 | LATIN CAPITAL LETTER A
+    C2 |  00000042 | LATIN CAPITAL LETTER B
+    C3 |  00000043 | LATIN CAPITAL LETTER C
+    C4 |  00000044 | LATIN CAPITAL LETTER D
+    C5 |  00000045 | LATIN CAPITAL LETTER E
+    C6 |  00000046 | LATIN CAPITAL LETTER F
+    C7 |  00000047 | LATIN CAPITAL LETTER G
+    C8 |  00000048 | LATIN CAPITAL LETTER H
+    C9 |  00000049 | LATIN CAPITAL LETTER I
+    CA |  000000AD | SOFT HYPHEN
+    CC |  00000645 | ARABIC LETTER MEEM
+    CD |  0000FEE3 | ARABIC LETTER MEEM INITIAL FORM
+    CF |  00000646 | ARABIC LETTER NOON
+    D0 |  0000007D | RIGHT CURLY BRACKET
+    D1 |  0000004A | LATIN CAPITAL LETTER J
+    D2 |  0000004B | LATIN CAPITAL LETTER K
+    D3 |  0000004C | LATIN CAPITAL LETTER L
+    D4 |  0000004D | LATIN CAPITAL LETTER M
+    D5 |  0000004E | LATIN CAPITAL LETTER N
+    D6 |  0000004F | LATIN CAPITAL LETTER O
+    D7 |  00000050 | LATIN CAPITAL LETTER P
+    D8 |  00000051 | LATIN CAPITAL LETTER Q
+    D9 |  00000052 | LATIN CAPITAL LETTER R
+    DA |  0000FEE7 | ARABIC LETTER NOON INITIAL FORM
+    DC |  00000648 | ARABIC LETTER WAW
+    E0 |  0000005C | REVERSE SOLIDUS
+    E2 |  00000053 | LATIN CAPITAL LETTER S
+    E3 |  00000054 | LATIN CAPITAL LETTER T
+    E4 |  00000055 | LATIN CAPITAL LETTER U
+    E5 |  00000056 | LATIN CAPITAL LETTER V
+    E6 |  00000057 | LATIN CAPITAL LETTER W
+    E7 |  00000058 | LATIN CAPITAL LETTER X
+    E8 |  00000059 | LATIN CAPITAL LETTER Y
+    E9 |  0000005A | LATIN CAPITAL LETTER Z
+    EA |  00000621 | ARABIC LETTER HAMZA
+    F0 |  00000030 | DIGIT ZERO
+    F1 |  00000031 | DIGIT ONE
+    F2 |  00000032 | DIGIT TWO
+    F3 |  00000033 | DIGIT THREE
+    F4 |  00000034 | DIGIT FOUR
+    F5 |  00000035 | DIGIT FIVE
+    F6 |  00000036 | DIGIT SIX
+    F7 |  00000037 | DIGIT SEVEN
+    F8 |  00000038 | DIGIT EIGHT
+    F9 |  00000039 | DIGIT NINE
+    FD |  00000651 | ARABIC SHADDA
+    FE |  0000FE7D | ARABIC SHADDA MEDIAL FORM
+    FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/IEC_P27_1.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/IEC_P27_1.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/IEC_P27_1.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/IEC_P27_1.pm        12 Oct 
2011 23:51:41 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: IEC_P27_1.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for IEC_P27-1.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::IEC_P27_1;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x02c7,
+    0x2261,
+    0x2227,
+    0x2228,
+    0x2229,
+    0x222a,
+    0x2282,
+    0x2283,
+    0x21d0,
+    0x21d2,
+    0x2234,
+    0x2235,
+    0x2208,
+    0x220b,
+    0x2286,
+    0x2287,
+    0x222b,
+    0x222e,
+    0x221e,
+    0x2207,
+    0x2202,
+    0x223c,
+    0x2248,
+    0x2243,
+    0x2245,
+    0x2264,
+    0x2260,
+    0x2265,
+    0x2194,
+    0x00ac,
+    0x2200,
+    0x2203,
+    0x05d0,
+    0x25a1,
+    0x2225,
+    0x0393,
+    0x0394,
+    0x22a5,
+    0x2220,
+    0x221f,
+    0x0398,
+    0x2329,
+    0x232a,
+    0x039b,
+    0x2032,
+    0x2033,
+    0x039e,
+    0x2213,
+    0x03a0,
+    0x00b2,
+    0x03a3,
+    0x00d7,
+    0x00b3,
+    0x03a5,
+    0x03a6,
+    0x00b7,
+    0x03a8,
+    0x03a9,
+    0x2205,
+    0x21c0,
+    0x221a,
+    0x0192,
+    0x221d,
+    0x00b1,
+    0x00b0,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x2030,
+    0x03c0,
+    0x03c1,
+    0x03c3,
+    0x00f7,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x03c8,
+    0x03c9,
+    0x2020,
+    0x2190,
+    0x2191,
+    0x2192,
+    0x2193,
+    0x203e,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xcb\x87",
+    "\xe2\x89\xa1",
+    "\xe2\x88\xa7",
+    "\xe2\x88\xa8",
+    "\xe2\x88\xa9",
+    "\xe2\x88\xaa",
+    "\xe2\x8a\x82",
+    "\xe2\x8a\x83",
+    "\xe2\x87\x90",
+    "\xe2\x87\x92",
+    "\xe2\x88\xb4",
+    "\xe2\x88\xb5",
+    "\xe2\x88\x88",
+    "\xe2\x88\x8b",
+    "\xe2\x8a\x86",
+    "\xe2\x8a\x87",
+    "\xe2\x88\xab",
+    "\xe2\x88\xae",
+    "\xe2\x88\x9e",
+    "\xe2\x88\x87",
+    "\xe2\x88\x82",
+    "\xe2\x88\xbc",
+    "\xe2\x89\x88",
+    "\xe2\x89\x83",
+    "\xe2\x89\x85",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa0",
+    "\xe2\x89\xa5",
+    "\xe2\x86\x94",
+    "\xc2\xac",
+    "\xe2\x88\x80",
+    "\xe2\x88\x83",
+    "\xd7\x90",
+    "\xe2\x96\xa1",
+    "\xe2\x88\xa5",
+    "\xce\x93",
+    "\xce\x94",
+    "\xe2\x8a\xa5",
+    "\xe2\x88\xa0",
+    "\xe2\x88\x9f",
+    "\xce\x98",
+    "\xe2\x8c\xa9",
+    "\xe2\x8c\xaa",
+    "\xce\x9b",
+    "\xe2\x80\xb2",
+    "\xe2\x80\xb3",
+    "\xce\x9e",
+    "\xe2\x88\x93",
+    "\xce\xa0",
+    "\xc2\xb2",
+    "\xce\xa3",
+    "\xc3\x97",
+    "\xc2\xb3",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xc2\xb7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xe2\x88\x85",
+    "\xe2\x87\x80",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x88\x9d",
+    "\xc2\xb1",
+    "\xc2\xb0",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xe2\x80\xb0",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xc3\xb7",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\xcf\x89",
+    "\xe2\x80\xa0",
+    "\xe2\x86\x90",
+    "\xe2\x86\x91",
+    "\xe2\x86\x92",
+    "\xe2\x86\x93",
+    "\xe2\x80\xbe",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000ac => "\xbd",
+    0x000000b0 => "\xe0",
+    0x000000b1 => "\xdf",
+    0x000000b2 => "\xd1",
+    0x000000b3 => "\xd4",
+    0x000000b7 => "\xd7",
+    0x000000d7 => "\xd3",
+    0x000000f7 => "\xf3",
+    0x00000192 => "\xdd",
+    0x000002c7 => "\xa0",
+    0x00000393 => "\xc3",
+    0x00000394 => "\xc4",
+    0x00000398 => "\xc8",
+    0x0000039b => "\xcb",
+    0x0000039e => "\xce",
+    0x000003a0 => "\xd0",
+    0x000003a3 => "\xd2",
+    0x000003a5 => "\xd5",
+    0x000003a6 => "\xd6",
+    0x000003a8 => "\xd8",
+    0x000003a9 => "\xd9",
+    0x000003b1 => "\xe1",
+    0x000003b2 => "\xe2",
+    0x000003b3 => "\xe3",
+    0x000003b4 => "\xe4",
+    0x000003b5 => "\xe5",
+    0x000003b6 => "\xe6",
+    0x000003b7 => "\xe7",
+    0x000003b8 => "\xe8",
+    0x000003b9 => "\xe9",
+    0x000003ba => "\xea",
+    0x000003bb => "\xeb",
+    0x000003bc => "\xec",
+    0x000003bd => "\xed",
+    0x000003be => "\xee",
+    0x000003c0 => "\xf0",
+    0x000003c1 => "\xf1",
+    0x000003c3 => "\xf2",
+    0x000003c4 => "\xf4",
+    0x000003c5 => "\xf5",
+    0x000003c6 => "\xf6",
+    0x000003c7 => "\xf7",
+    0x000003c8 => "\xf8",
+    0x000003c9 => "\xf9",
+    0x000005d0 => "\xc0",
+    0x00002020 => "\xfa",
+    0x00002030 => "\xef",
+    0x00002032 => "\xcc",
+    0x00002033 => "\xcd",
+    0x0000203e => "\xff",
+    0x00002190 => "\xfb",
+    0x00002191 => "\xfc",
+    0x00002192 => "\xfd",
+    0x00002193 => "\xfe",
+    0x00002194 => "\xbc",
+    0x000021c0 => "\xdb",
+    0x000021d0 => "\xa8",
+    0x000021d2 => "\xa9",
+    0x00002200 => "\xbe",
+    0x00002202 => "\xb4",
+    0x00002203 => "\xbf",
+    0x00002205 => "\xda",
+    0x00002207 => "\xb3",
+    0x00002208 => "\xac",
+    0x0000220b => "\xad",
+    0x00002213 => "\xcf",
+    0x0000221a => "\xdc",
+    0x0000221d => "\xde",
+    0x0000221e => "\xb2",
+    0x0000221f => "\xc7",
+    0x00002220 => "\xc6",
+    0x00002225 => "\xc2",
+    0x00002227 => "\xa2",
+    0x00002228 => "\xa3",
+    0x00002229 => "\xa4",
+    0x0000222a => "\xa5",
+    0x0000222b => "\xb0",
+    0x0000222e => "\xb1",
+    0x00002234 => "\xaa",
+    0x00002235 => "\xab",
+    0x0000223c => "\xb5",
+    0x00002243 => "\xb7",
+    0x00002245 => "\xb8",
+    0x00002248 => "\xb6",
+    0x00002260 => "\xba",
+    0x00002261 => "\xa1",
+    0x00002264 => "\xb9",
+    0x00002265 => "\xbb",
+    0x00002282 => "\xa6",
+    0x00002283 => "\xa7",
+    0x00002286 => "\xae",
+    0x00002287 => "\xaf",
+    0x000022a5 => "\xc5",
+    0x00002329 => "\xc9",
+    0x0000232a => "\xca",
+    0x000025a1 => "\xc1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::IEC_P27_1 - Conversion routines for IEC_P27_1
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for IEC_P27-1.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-143
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000002C7 | CARON (Mandarin Chinese third tone)
+    A1 |  00002261 | IDENTICAL TO
+    A2 |  00002227 | LOGICAL AND
+    A3 |  00002228 | LOGICAL OR
+    A4 |  00002229 | INTERSECTION
+    A5 |  0000222A | UNION
+    A6 |  00002282 | SUBSET OF
+    A7 |  00002283 | SUPERSET OF
+    A8 |  000021D0 | LEFTWARDS DOUBLE ARROW
+    A9 |  000021D2 | RIGHTWARDS DOUBLE ARROW
+    AA |  00002234 | THEREFORE
+    AB |  00002235 | BECAUSE
+    AC |  00002208 | ELEMENT OF
+    AD |  0000220B | CONTAINS AS MEMBER
+    AE |  00002286 | SUBSET OF OR EQUAL TO
+    AF |  00002287 | SUPERSET OF OR EQUAL TO
+    B0 |  0000222B | INTEGRAL
+    B1 |  0000222E | CONTOUR INTEGRAL
+    B2 |  0000221E | INFINITY
+    B3 |  00002207 | NABLA
+    B4 |  00002202 | PARTIAL DIFFERENTIAL
+    B5 |  0000223C | TILDE OPERATOR
+    B6 |  00002248 | ALMOST EQUAL TO
+    B7 |  00002243 | ASYMPTOTICALLY EQUAL TO
+    B8 |  00002245 | APPROXIMATELY EQUAL TO
+    B9 |  00002264 | LESS-THAN OR EQUAL TO
+    BA |  00002260 | NOT EQUAL TO
+    BB |  00002265 | GREATER-THAN OR EQUAL TO
+    BC |  00002194 | LEFT RIGHT ARROW
+    BD |  000000AC | NOT SIGN
+    BE |  00002200 | FOR ALL
+    BF |  00002203 | THERE EXISTS
+    C0 |  000005D0 | HEBREW LETTER ALEF
+    C1 |  000025A1 | WHITE SQUARE
+    C2 |  00002225 | PARALLEL TO
+    C3 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    C4 |  00000394 | GREEK CAPITAL LETTER DELTA
+    C5 |  000022A5 | UP TACK
+    C6 |  00002220 | ANGLE
+    C7 |  0000221F | RIGHT ANGLE
+    C8 |  00000398 | GREEK CAPITAL LETTER THETA
+    C9 |  00002329 | LEFT-POINTING ANGLE BRACKET
+    CA |  0000232A | RIGHT-POINTING ANGLE BRACKET
+    CB |  0000039B | GREEK CAPITAL LETTER LAMDA
+    CC |  00002032 | PRIME
+    CD |  00002033 | DOUBLE PRIME
+    CE |  0000039E | GREEK CAPITAL LETTER XI
+    CF |  00002213 | MINUS-OR-PLUS SIGN
+    D0 |  000003A0 | GREEK CAPITAL LETTER PI
+    D1 |  000000B2 | SUPERSCRIPT TWO
+    D2 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    D3 |  000000D7 | MULTIPLICATION SIGN
+    D4 |  000000B3 | SUPERSCRIPT THREE
+    D5 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    D6 |  000003A6 | GREEK CAPITAL LETTER PHI
+    D7 |  000000B7 | MIDDLE DOT
+    D8 |  000003A8 | GREEK CAPITAL LETTER PSI
+    D9 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    DA |  00002205 | EMPTY SET
+    DB |  000021C0 | RIGHTWARDS HARPOON WITH BARB UPWARDS
+    DC |  0000221A | SQUARE ROOT
+    DD |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    DE |  0000221D | PROPORTIONAL TO
+    DF |  000000B1 | PLUS-MINUS SIGN
+    E0 |  000000B0 | DEGREE SIGN
+    E1 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E2 |  000003B2 | GREEK SMALL LETTER BETA
+    E3 |  000003B3 | GREEK SMALL LETTER GAMMA
+    E4 |  000003B4 | GREEK SMALL LETTER DELTA
+    E5 |  000003B5 | GREEK SMALL LETTER EPSILON
+    E6 |  000003B6 | GREEK SMALL LETTER ZETA
+    E7 |  000003B7 | GREEK SMALL LETTER ETA
+    E8 |  000003B8 | GREEK SMALL LETTER THETA
+    E9 |  000003B9 | GREEK SMALL LETTER IOTA
+    EA |  000003BA | GREEK SMALL LETTER KAPPA
+    EB |  000003BB | GREEK SMALL LETTER LAMDA
+    EC |  000003BC | GREEK SMALL LETTER MU
+    ED |  000003BD | GREEK SMALL LETTER NU
+    EE |  000003BE | GREEK SMALL LETTER XI
+    EF |  00002030 | PER MILLE SIGN
+    F0 |  000003C0 | GREEK SMALL LETTER PI
+    F1 |  000003C1 | GREEK SMALL LETTER RHO
+    F2 |  000003C3 | GREEK SMALL LETTER SIGMA
+    F3 |  000000F7 | DIVISION SIGN
+    F4 |  000003C4 | GREEK SMALL LETTER TAU
+    F5 |  000003C5 | GREEK SMALL LETTER UPSILON
+    F6 |  000003C6 | GREEK SMALL LETTER PHI
+    F7 |  000003C7 | GREEK SMALL LETTER CHI
+    F8 |  000003C8 | GREEK SMALL LETTER PSI
+    F9 |  000003C9 | GREEK SMALL LETTER OMEGA
+    FA |  00002020 | DAGGER
+    FB |  00002190 | LEFTWARDS ARROW
+    FC |  00002191 | UPWARDS ARROW
+    FD |  00002192 | RIGHTWARDS ARROW
+    FE |  00002193 | DOWNWARDS ARROW
+    FF |  0000203E | OVERLINE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS.pm     12 Oct 2011 
23:51:41 -0000      1.1
@@ -0,0 +1,864 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: INIS.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for INIS.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::INIS;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0024,
+    0x0025,
+    0xfffd,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0xfffd,
+    0xfffd,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0xfffd,
+    0x005d,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0xfffd,
+    0x007c,
+    0xfffd,
+    0xfffd,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x24",
+    "\x25",
+    "\xef\xbf\xbd",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\xef\xbf\xbd",
+    "\x5d",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xef\xbf\xbd",
+    "\x7c",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005d => "\x5d",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007c => "\x7c",
+    0x0000007f => "\x7f",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::INIS - Conversion routines for INIS
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for INIS.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-49
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7C |  0000007C | VERTICAL LINE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_8.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_8.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_8.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_8.pm   12 Oct 2011 
23:51:41 -0000      1.1
@@ -0,0 +1,779 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: INIS_8.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for INIS-8.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::INIS_8;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x039e,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2192,
+    0x222b,
+    0x2070,
+    0x00b9,
+    0x00b2,
+    0x00b3,
+    0x2074,
+    0x2075,
+    0x2076,
+    0x2077,
+    0x2078,
+    0x2079,
+    0x207a,
+    0x207b,
+    0x30eb,
+    0x0394,
+    0x039b,
+    0x03a9,
+    0x2080,
+    0x2081,
+    0x2082,
+    0x2083,
+    0x2084,
+    0x2085,
+    0x2086,
+    0x2087,
+    0x2088,
+    0x2089,
+    0x03a3,
+    0x03bc,
+    0x03bd,
+    0x03c9,
+    0x03c0,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\x9e",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x86\x92",
+    "\xe2\x88\xab",
+    "\xe2\x81\xb0",
+    "\xc2\xb9",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xe2\x81\xb4",
+    "\xe2\x81\xb5",
+    "\xe2\x81\xb6",
+    "\xe2\x81\xb7",
+    "\xe2\x81\xb8",
+    "\xe2\x81\xb9",
+    "\xe2\x81\xba",
+    "\xe2\x81\xbb",
+    "\xe3\x83\xab",
+    "\xce\x94",
+    "\xce\x9b",
+    "\xce\xa9",
+    "\xe2\x82\x80",
+    "\xe2\x82\x81",
+    "\xe2\x82\x82",
+    "\xe2\x82\x83",
+    "\xe2\x82\x84",
+    "\xe2\x82\x85",
+    "\xe2\x82\x86",
+    "\xe2\x82\x87",
+    "\xe2\x82\x88",
+    "\xe2\x82\x89",
+    "\xce\xa3",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xcf\x89",
+    "\xcf\x80",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x0000007f => "\x7f",
+    0x000000b2 => "\x62",
+    0x000000b3 => "\x63",
+    0x000000b9 => "\x61",
+    0x00000394 => "\x6d",
+    0x0000039b => "\x6e",
+    0x0000039e => "\x3e",
+    0x000003a3 => "\x7a",
+    0x000003a9 => "\x6f",
+    0x000003b1 => "\x3a",
+    0x000003b2 => "\x3b",
+    0x000003b3 => "\x3c",
+    0x000003b4 => "\x3d",
+    0x000003bc => "\x7b",
+    0x000003bd => "\x7c",
+    0x000003c0 => "\x7e",
+    0x000003c9 => "\x7d",
+    0x00002070 => "\x60",
+    0x00002074 => "\x64",
+    0x00002075 => "\x65",
+    0x00002076 => "\x66",
+    0x00002077 => "\x67",
+    0x00002078 => "\x68",
+    0x00002079 => "\x69",
+    0x0000207a => "\x6a",
+    0x0000207b => "\x6b",
+    0x00002080 => "\x70",
+    0x00002081 => "\x71",
+    0x00002082 => "\x72",
+    0x00002083 => "\x73",
+    0x00002084 => "\x74",
+    0x00002085 => "\x75",
+    0x00002086 => "\x76",
+    0x00002087 => "\x77",
+    0x00002088 => "\x78",
+    0x00002089 => "\x79",
+    0x00002192 => "\x5e",
+    0x0000222b => "\x5f",
+    0x000030eb => "\x6c",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::INIS_8 - Conversion routines for INIS_8
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for INIS-8.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: ECMA registry
+ alias ISO-IR-50
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    3A |  000003B1 | GREEK SMALL LETTER ALPHA
+    3B |  000003B2 | GREEK SMALL LETTER BETA
+    3C |  000003B3 | GREEK SMALL LETTER GAMMA
+    3D |  000003B4 | GREEK SMALL LETTER DELTA
+    3E |  0000039E | GREEK CAPITAL LETTER XI
+    5E |  00002192 | RIGHTWARDS ARROW
+    5F |  0000222B | INTEGRAL
+    60 |  00002070 | SUPERSCRIPT ZERO
+    61 |  000000B9 | SUPERSCRIPT ONE
+    62 |  000000B2 | SUPERSCRIPT TWO
+    63 |  000000B3 | SUPERSCRIPT THREE
+    64 |  00002074 | SUPERSCRIPT FOUR
+    65 |  00002075 | SUPERSCRIPT FIVE
+    66 |  00002076 | SUPERSCRIPT SIX
+    67 |  00002077 | SUPERSCRIPT SEVEN
+    68 |  00002078 | SUPERSCRIPT EIGHT
+    69 |  00002079 | SUPERSCRIPT NINE
+    6A |  0000207A | SUPERSCRIPT PLUS SIGN
+    6B |  0000207B | SUPERSCRIPT MINUS
+    6C |  000030EB | KATAKANA LETTER RU
+    6D |  00000394 | GREEK CAPITAL LETTER DELTA
+    6E |  0000039B | GREEK CAPITAL LETTER LAMDA
+    6F |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    70 |  00002080 | SUBSCRIPT ZERO
+    71 |  00002081 | SUBSCRIPT ONE
+    72 |  00002082 | SUBSCRIPT TWO
+    73 |  00002083 | SUBSCRIPT THREE
+    74 |  00002084 | SUBSCRIPT FOUR
+    75 |  00002085 | SUBSCRIPT FIVE
+    76 |  00002086 | SUBSCRIPT SIX
+    77 |  00002087 | SUBSCRIPT SEVEN
+    78 |  00002088 | SUBSCRIPT EIGHT
+    79 |  00002089 | SUBSCRIPT NINE
+    7A |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    7B |  000003BC | GREEK SMALL LETTER MU
+    7C |  000003BD | GREEK SMALL LETTER NU
+    7D |  000003C9 | GREEK SMALL LETTER OMEGA
+    7E |  000003C0 | GREEK SMALL LETTER PI
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_CYRILLIC.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_CYRILLIC.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_CYRILLIC.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/INIS_CYRILLIC.pm    12 Oct 
2011 23:51:41 -0000      1.1
@@ -0,0 +1,866 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: INIS_CYRILLIC.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for INIS-CYRILLIC.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::INIS_CYRILLIC;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x221a,
+    0xfffd,
+    0x2192,
+    0x222b,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03a3,
+    0x03bc,
+    0x03bd,
+    0x03c9,
+    0x03c0,
+    0x039e,
+    0x0394,
+    0x039b,
+    0x03a9,
+    0x042a,
+    0x207b,
+    0x207a,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x88\x9a",
+    "\xef\xbf\xbd",
+    "\xe2\x86\x92",
+    "\xe2\x88\xab",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xa3",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xcf\x89",
+    "\xcf\x80",
+    "\xce\x9e",
+    "\xce\x94",
+    "\xce\x9b",
+    "\xce\xa9",
+    "\xd0\xaa",
+    "\xe2\x81\xbb",
+    "\xe2\x81\xba",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x0000007f => "\x7f",
+    0x00000394 => "\x3a",
+    0x0000039b => "\x3b",
+    0x0000039e => "\x39",
+    0x000003a3 => "\x34",
+    0x000003a9 => "\x3c",
+    0x000003b1 => "\x30",
+    0x000003b2 => "\x31",
+    0x000003b3 => "\x32",
+    0x000003b4 => "\x33",
+    0x000003bc => "\x35",
+    0x000003bd => "\x36",
+    0x000003c0 => "\x38",
+    0x000003c9 => "\x37",
+    0x00000410 => "\x61",
+    0x00000411 => "\x62",
+    0x00000412 => "\x77",
+    0x00000413 => "\x67",
+    0x00000414 => "\x64",
+    0x00000415 => "\x65",
+    0x00000416 => "\x76",
+    0x00000417 => "\x7a",
+    0x00000418 => "\x69",
+    0x00000419 => "\x6a",
+    0x0000041a => "\x6b",
+    0x0000041b => "\x6c",
+    0x0000041c => "\x6d",
+    0x0000041d => "\x6e",
+    0x0000041e => "\x6f",
+    0x0000041f => "\x70",
+    0x00000420 => "\x72",
+    0x00000421 => "\x73",
+    0x00000422 => "\x74",
+    0x00000423 => "\x75",
+    0x00000424 => "\x66",
+    0x00000425 => "\x68",
+    0x00000426 => "\x63",
+    0x00000427 => "\x7e",
+    0x00000428 => "\x7b",
+    0x00000429 => "\x7d",
+    0x0000042a => "\x3d",
+    0x0000042b => "\x79",
+    0x0000042c => "\x78",
+    0x0000042d => "\x7c",
+    0x0000042e => "\x60",
+    0x0000042f => "\x71",
+    0x00000430 => "\x41",
+    0x00000431 => "\x42",
+    0x00000432 => "\x57",
+    0x00000433 => "\x47",
+    0x00000434 => "\x44",
+    0x00000435 => "\x45",
+    0x00000436 => "\x56",
+    0x00000437 => "\x5a",
+    0x00000438 => "\x49",
+    0x00000439 => "\x4a",
+    0x0000043a => "\x4b",
+    0x0000043b => "\x4c",
+    0x0000043c => "\x4d",
+    0x0000043d => "\x4e",
+    0x0000043e => "\x4f",
+    0x0000043f => "\x50",
+    0x00000440 => "\x52",
+    0x00000441 => "\x53",
+    0x00000442 => "\x54",
+    0x00000443 => "\x55",
+    0x00000444 => "\x46",
+    0x00000445 => "\x48",
+    0x00000446 => "\x43",
+    0x00000447 => "\x5e",
+    0x00000448 => "\x5b",
+    0x00000449 => "\x5d",
+    0x0000044a => "\x5f",
+    0x0000044b => "\x59",
+    0x0000044c => "\x58",
+    0x0000044d => "\x5c",
+    0x0000044e => "\x40",
+    0x0000044f => "\x51",
+    0x0000207a => "\x3f",
+    0x0000207b => "\x3e",
+    0x00002192 => "\x2e",
+    0x0000221a => "\x2c",
+    0x0000222b => "\x2f",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::INIS_CYRILLIC - Conversion routines for INIS_CYRILLIC
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for INIS-CYRILLIC.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-51
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    2C |  0000221A | SQUARE ROOT
+    2E |  00002192 | RIGHTWARDS ARROW
+    2F |  0000222B | INTEGRAL
+    30 |  000003B1 | GREEK SMALL LETTER ALPHA
+    31 |  000003B2 | GREEK SMALL LETTER BETA
+    32 |  000003B3 | GREEK SMALL LETTER GAMMA
+    33 |  000003B4 | GREEK SMALL LETTER DELTA
+    34 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    35 |  000003BC | GREEK SMALL LETTER MU
+    36 |  000003BD | GREEK SMALL LETTER NU
+    37 |  000003C9 | GREEK SMALL LETTER OMEGA
+    38 |  000003C0 | GREEK SMALL LETTER PI
+    39 |  0000039E | GREEK CAPITAL LETTER XI
+    3A |  00000394 | GREEK CAPITAL LETTER DELTA
+    3B |  0000039B | GREEK CAPITAL LETTER LAMDA
+    3C |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    3D |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    3E |  0000207B | SUPERSCRIPT MINUS
+    3F |  0000207A | SUPERSCRIPT PLUS SIGN
+    40 |  0000044E | CYRILLIC SMALL LETTER YU
+    41 |  00000430 | CYRILLIC SMALL LETTER A
+    42 |  00000431 | CYRILLIC SMALL LETTER BE
+    43 |  00000446 | CYRILLIC SMALL LETTER TSE
+    44 |  00000434 | CYRILLIC SMALL LETTER DE
+    45 |  00000435 | CYRILLIC SMALL LETTER IE
+    46 |  00000444 | CYRILLIC SMALL LETTER EF
+    47 |  00000433 | CYRILLIC SMALL LETTER GHE
+    48 |  00000445 | CYRILLIC SMALL LETTER HA
+    49 |  00000438 | CYRILLIC SMALL LETTER I
+    4A |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    4B |  0000043A | CYRILLIC SMALL LETTER KA
+    4C |  0000043B | CYRILLIC SMALL LETTER EL
+    4D |  0000043C | CYRILLIC SMALL LETTER EM
+    4E |  0000043D | CYRILLIC SMALL LETTER EN
+    4F |  0000043E | CYRILLIC SMALL LETTER O
+    50 |  0000043F | CYRILLIC SMALL LETTER PE
+    51 |  0000044F | CYRILLIC SMALL LETTER YA
+    52 |  00000440 | CYRILLIC SMALL LETTER ER
+    53 |  00000441 | CYRILLIC SMALL LETTER ES
+    54 |  00000442 | CYRILLIC SMALL LETTER TE
+    55 |  00000443 | CYRILLIC SMALL LETTER U
+    56 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    57 |  00000432 | CYRILLIC SMALL LETTER VE
+    58 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    59 |  0000044B | CYRILLIC SMALL LETTER YERU
+    5A |  00000437 | CYRILLIC SMALL LETTER ZE
+    5B |  00000448 | CYRILLIC SMALL LETTER SHA
+    5C |  0000044D | CYRILLIC SMALL LETTER E
+    5D |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    5E |  00000447 | CYRILLIC SMALL LETTER CHE
+    5F |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    60 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    61 |  00000410 | CYRILLIC CAPITAL LETTER A
+    62 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    63 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    64 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    65 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    66 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    67 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    68 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    69 |  00000418 | CYRILLIC CAPITAL LETTER I
+    6A |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    6B |  0000041A | CYRILLIC CAPITAL LETTER KA
+    6C |  0000041B | CYRILLIC CAPITAL LETTER EL
+    6D |  0000041C | CYRILLIC CAPITAL LETTER EM
+    6E |  0000041D | CYRILLIC CAPITAL LETTER EN
+    6F |  0000041E | CYRILLIC CAPITAL LETTER O
+    70 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    71 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    72 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    73 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    74 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    75 |  00000423 | CYRILLIC CAPITAL LETTER U
+    76 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    77 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    78 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    79 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    7A |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    7B |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    7C |  0000042D | CYRILLIC CAPITAL LETTER E
+    7D |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    7E |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_10367_BOX.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_10367_BOX.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_10367_BOX.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_10367_BOX.pm    12 Oct 
2011 23:51:41 -0000      1.1
@@ -0,0 +1,1012 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_10367_BOX.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for ISO_10367-BOX.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_10367_BOX;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2551,
+    0x2550,
+    0x2554,
+    0x2557,
+    0x255a,
+    0x255d,
+    0x2560,
+    0x2563,
+    0x2566,
+    0x2569,
+    0x256c,
+    0xe019,
+    0x2584,
+    0x2588,
+    0x25aa,
+    0xfffd,
+    0x2502,
+    0x2500,
+    0x250c,
+    0x2510,
+    0x2514,
+    0x2518,
+    0x251c,
+    0x2524,
+    0x252c,
+    0x2534,
+    0x253c,
+    0x2591,
+    0x2592,
+    0x2593,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x95\x91",
+    "\xe2\x95\x90",
+    "\xe2\x95\x94",
+    "\xe2\x95\x97",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x9d",
+    "\xe2\x95\xa0",
+    "\xe2\x95\xa3",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xac",
+    "\xee\x80\x99",
+    "\xe2\x96\x84",
+    "\xe2\x96\x88",
+    "\xe2\x96\xaa",
+    "\xef\xbf\xbd",
+    "\xe2\x94\x82",
+    "\xe2\x94\x80",
+    "\xe2\x94\x8c",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\x98",
+    "\xe2\x94\x9c",
+    "\xe2\x94\xa4",
+    "\xe2\x94\xac",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xbc",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x00002500 => "\xd1",
+    0x00002502 => "\xd0",
+    0x0000250c => "\xd2",
+    0x00002510 => "\xd3",
+    0x00002514 => "\xd4",
+    0x00002518 => "\xd5",
+    0x0000251c => "\xd6",
+    0x00002524 => "\xd7",
+    0x0000252c => "\xd8",
+    0x00002534 => "\xd9",
+    0x0000253c => "\xda",
+    0x00002550 => "\xc1",
+    0x00002551 => "\xc0",
+    0x00002554 => "\xc2",
+    0x00002557 => "\xc3",
+    0x0000255a => "\xc4",
+    0x0000255d => "\xc5",
+    0x00002560 => "\xc6",
+    0x00002563 => "\xc7",
+    0x00002566 => "\xc8",
+    0x00002569 => "\xc9",
+    0x0000256c => "\xca",
+    0x00002584 => "\xcc",
+    0x00002588 => "\xcd",
+    0x00002591 => "\xdb",
+    0x00002592 => "\xdc",
+    0x00002593 => "\xdd",
+    0x000025aa => "\xce",
+    0x0000e019 => "\xcb",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_10367_BOX - Conversion routines for ISO_10367_BOX
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO_10367-BOX.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-155
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    C0 |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    C1 |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    C2 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    C3 |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    C4 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    C5 |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    C6 |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    C7 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    C8 |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    C9 |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    CA |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    CB |  0000E019 | Unit space B E<lt>ISO-IR-8-1_60E<gt>
+    CC |  00002584 | LOWER HALF BLOCK
+    CD |  00002588 | FULL BLOCK
+    CE |  000025AA | BLACK SMALL SQUARE
+    D0 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    D1 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    D2 |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    D3 |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    D4 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    D5 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    D6 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    D7 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    D8 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    D9 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    DA |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    DB |  00002591 | LIGHT SHADE
+    DC |  00002592 | MEDIUM SHADE
+    DD |  00002593 | DARK SHADE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_2033_1983.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_2033_1983.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_2033_1983.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_2033_1983.pm    12 Oct 
2011 23:51:41 -0000      1.1
@@ -0,0 +1,732 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_2033_1983.pm,v 1.1 2011/10/12 23:51:41 pertusus Exp $
+
+# Conversion routines for ISO_2033-1983.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_2033_1983;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x2446,
+    0x2447,
+    0x2448,
+    0x2449,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xe2\x91\x86",
+    "\xe2\x91\x87",
+    "\xe2\x91\x88",
+    "\xe2\x91\x89",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000007f => "\x7f",
+    0x00002446 => "\x3a",
+    0x00002447 => "\x3b",
+    0x00002448 => "\x3c",
+    0x00002449 => "\x3d",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_2033_1983 - Conversion routines for ISO_2033_1983
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO_2033-1983.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: ECMA registry
+ alias ISO-IR-98
+ alias E13B
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  00002446 | OCR BRANCH BANK IDENTIFICATION
+    3B |  00002447 | OCR AMOUNT OF CHECK
+    3C |  00002448 | OCR DASH
+    3D |  00002449 | OCR CUSTOMER ACCOUNT NUMBER
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427.pm 12 Oct 2011 
23:51:42 -0000      1.1
@@ -0,0 +1,891 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_5427.pm,v 1.1 2011/10/12 23:51:42 pertusus Exp $
+
+# Conversion routines for ISO_5427.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_5427;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x00a4,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\xc2\xa4",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x0000007f => "\x7f",
+    0x000000a4 => "\x24",
+    0x00000410 => "\x61",
+    0x00000411 => "\x62",
+    0x00000412 => "\x77",
+    0x00000413 => "\x67",
+    0x00000414 => "\x64",
+    0x00000415 => "\x65",
+    0x00000416 => "\x76",
+    0x00000417 => "\x7a",
+    0x00000418 => "\x69",
+    0x00000419 => "\x6a",
+    0x0000041a => "\x6b",
+    0x0000041b => "\x6c",
+    0x0000041c => "\x6d",
+    0x0000041d => "\x6e",
+    0x0000041e => "\x6f",
+    0x0000041f => "\x70",
+    0x00000420 => "\x72",
+    0x00000421 => "\x73",
+    0x00000422 => "\x74",
+    0x00000423 => "\x75",
+    0x00000424 => "\x66",
+    0x00000425 => "\x68",
+    0x00000426 => "\x63",
+    0x00000427 => "\x7e",
+    0x00000428 => "\x7b",
+    0x00000429 => "\x7d",
+    0x0000042b => "\x79",
+    0x0000042c => "\x78",
+    0x0000042d => "\x7c",
+    0x0000042e => "\x60",
+    0x0000042f => "\x71",
+    0x00000430 => "\x41",
+    0x00000431 => "\x42",
+    0x00000432 => "\x57",
+    0x00000433 => "\x47",
+    0x00000434 => "\x44",
+    0x00000435 => "\x45",
+    0x00000436 => "\x56",
+    0x00000437 => "\x5a",
+    0x00000438 => "\x49",
+    0x00000439 => "\x4a",
+    0x0000043a => "\x4b",
+    0x0000043b => "\x4c",
+    0x0000043c => "\x4d",
+    0x0000043d => "\x4e",
+    0x0000043e => "\x4f",
+    0x0000043f => "\x50",
+    0x00000440 => "\x52",
+    0x00000441 => "\x53",
+    0x00000442 => "\x54",
+    0x00000443 => "\x55",
+    0x00000444 => "\x46",
+    0x00000445 => "\x48",
+    0x00000446 => "\x43",
+    0x00000447 => "\x5e",
+    0x00000448 => "\x5b",
+    0x00000449 => "\x5d",
+    0x0000044a => "\x5f",
+    0x0000044b => "\x59",
+    0x0000044c => "\x58",
+    0x0000044d => "\x5c",
+    0x0000044e => "\x40",
+    0x0000044f => "\x51",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_5427 - Conversion routines for ISO_5427
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO_5427.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-37
+ alias KOI-7
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  000000A4 | CURRENCY SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  0000044E | CYRILLIC SMALL LETTER YU
+    41 |  00000430 | CYRILLIC SMALL LETTER A
+    42 |  00000431 | CYRILLIC SMALL LETTER BE
+    43 |  00000446 | CYRILLIC SMALL LETTER TSE
+    44 |  00000434 | CYRILLIC SMALL LETTER DE
+    45 |  00000435 | CYRILLIC SMALL LETTER IE
+    46 |  00000444 | CYRILLIC SMALL LETTER EF
+    47 |  00000433 | CYRILLIC SMALL LETTER GHE
+    48 |  00000445 | CYRILLIC SMALL LETTER HA
+    49 |  00000438 | CYRILLIC SMALL LETTER I
+    4A |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    4B |  0000043A | CYRILLIC SMALL LETTER KA
+    4C |  0000043B | CYRILLIC SMALL LETTER EL
+    4D |  0000043C | CYRILLIC SMALL LETTER EM
+    4E |  0000043D | CYRILLIC SMALL LETTER EN
+    4F |  0000043E | CYRILLIC SMALL LETTER O
+    50 |  0000043F | CYRILLIC SMALL LETTER PE
+    51 |  0000044F | CYRILLIC SMALL LETTER YA
+    52 |  00000440 | CYRILLIC SMALL LETTER ER
+    53 |  00000441 | CYRILLIC SMALL LETTER ES
+    54 |  00000442 | CYRILLIC SMALL LETTER TE
+    55 |  00000443 | CYRILLIC SMALL LETTER U
+    56 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    57 |  00000432 | CYRILLIC SMALL LETTER VE
+    58 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    59 |  0000044B | CYRILLIC SMALL LETTER YERU
+    5A |  00000437 | CYRILLIC SMALL LETTER ZE
+    5B |  00000448 | CYRILLIC SMALL LETTER SHA
+    5C |  0000044D | CYRILLIC SMALL LETTER E
+    5D |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    5E |  00000447 | CYRILLIC SMALL LETTER CHE
+    5F |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    60 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    61 |  00000410 | CYRILLIC CAPITAL LETTER A
+    62 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    63 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    64 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    65 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    66 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    67 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    68 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    69 |  00000418 | CYRILLIC CAPITAL LETTER I
+    6A |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    6B |  0000041A | CYRILLIC CAPITAL LETTER KA
+    6C |  0000041B | CYRILLIC CAPITAL LETTER EL
+    6D |  0000041C | CYRILLIC CAPITAL LETTER EM
+    6E |  0000041D | CYRILLIC CAPITAL LETTER EN
+    6F |  0000041E | CYRILLIC CAPITAL LETTER O
+    70 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    71 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    72 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    73 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    74 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    75 |  00000423 | CYRILLIC CAPITAL LETTER U
+    76 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    77 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    78 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    79 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    7A |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    7B |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    7C |  0000042D | CYRILLIC CAPITAL LETTER E
+    7D |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    7E |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427_EXT.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427_EXT.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427_EXT.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5427_EXT.pm     12 Oct 
2011 23:51:42 -0000      1.1
@@ -0,0 +1,788 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_5427_EXT.pm,v 1.1 2011/10/12 23:51:42 pertusus Exp $
+
+# Conversion routines for ISO_5427-EXT.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_5427_EXT;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0491,
+    0x0452,
+    0x0453,
+    0x0454,
+    0x0451,
+    0x0455,
+    0x0456,
+    0x0457,
+    0x0458,
+    0x0459,
+    0x045a,
+    0x045b,
+    0x045c,
+    0x045e,
+    0x045f,
+    0xfffd,
+    0x0463,
+    0x0473,
+    0x0475,
+    0x046b,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x005b,
+    0xfffd,
+    0x005d,
+    0xfffd,
+    0x005f,
+    0x0490,
+    0x0402,
+    0x0403,
+    0x0404,
+    0x0401,
+    0x0405,
+    0x0406,
+    0x0407,
+    0x0408,
+    0x0409,
+    0x040a,
+    0x040b,
+    0x040c,
+    0x040e,
+    0x040f,
+    0x042a,
+    0x0462,
+    0x0472,
+    0x0474,
+    0x046a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd2\x91",
+    "\xd1\x92",
+    "\xd1\x93",
+    "\xd1\x94",
+    "\xd1\x91",
+    "\xd1\x95",
+    "\xd1\x96",
+    "\xd1\x97",
+    "\xd1\x98",
+    "\xd1\x99",
+    "\xd1\x9a",
+    "\xd1\x9b",
+    "\xd1\x9c",
+    "\xd1\x9e",
+    "\xd1\x9f",
+    "\xef\xbf\xbd",
+    "\xd1\xa3",
+    "\xd1\xb3",
+    "\xd1\xb5",
+    "\xd1\xab",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x5b",
+    "\xef\xbf\xbd",
+    "\x5d",
+    "\xef\xbf\xbd",
+    "\x5f",
+    "\xd2\x90",
+    "\xd0\x82",
+    "\xd0\x83",
+    "\xd0\x84",
+    "\xd0\x81",
+    "\xd0\x85",
+    "\xd0\x86",
+    "\xd0\x87",
+    "\xd0\x88",
+    "\xd0\x89",
+    "\xd0\x8a",
+    "\xd0\x8b",
+    "\xd0\x8c",
+    "\xd0\x8e",
+    "\xd0\x8f",
+    "\xd0\xaa",
+    "\xd1\xa2",
+    "\xd1\xb2",
+    "\xd1\xb4",
+    "\xd1\xaa",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x0000005b => "\x5b",
+    0x0000005d => "\x5d",
+    0x0000005f => "\x5f",
+    0x0000007f => "\x7f",
+    0x00000401 => "\x64",
+    0x00000402 => "\x61",
+    0x00000403 => "\x62",
+    0x00000404 => "\x63",
+    0x00000405 => "\x65",
+    0x00000406 => "\x66",
+    0x00000407 => "\x67",
+    0x00000408 => "\x68",
+    0x00000409 => "\x69",
+    0x0000040a => "\x6a",
+    0x0000040b => "\x6b",
+    0x0000040c => "\x6c",
+    0x0000040e => "\x6d",
+    0x0000040f => "\x6e",
+    0x0000042a => "\x6f",
+    0x00000451 => "\x44",
+    0x00000452 => "\x41",
+    0x00000453 => "\x42",
+    0x00000454 => "\x43",
+    0x00000455 => "\x45",
+    0x00000456 => "\x46",
+    0x00000457 => "\x47",
+    0x00000458 => "\x48",
+    0x00000459 => "\x49",
+    0x0000045a => "\x4a",
+    0x0000045b => "\x4b",
+    0x0000045c => "\x4c",
+    0x0000045e => "\x4d",
+    0x0000045f => "\x4e",
+    0x00000462 => "\x70",
+    0x00000463 => "\x50",
+    0x0000046a => "\x73",
+    0x0000046b => "\x53",
+    0x00000472 => "\x71",
+    0x00000473 => "\x51",
+    0x00000474 => "\x72",
+    0x00000475 => "\x52",
+    0x00000490 => "\x60",
+    0x00000491 => "\x40",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_5427_EXT - Conversion routines for ISO_5427_EXT
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO_5427-EXT.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+ repertoiremap: mnemonic,ds
+  source: ECMA registry
+ alias ISO-IR-54
+ alias ISO_5427:1981
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    40 |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
+    41 |  00000452 | CYRILLIC SMALL LETTER DJE
+    42 |  00000453 | CYRILLIC SMALL LETTER GJE
+    43 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    44 |  00000451 | CYRILLIC SMALL LETTER IO
+    45 |  00000455 | CYRILLIC SMALL LETTER DZE
+    46 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    47 |  00000457 | CYRILLIC SMALL LETTER YI
+    48 |  00000458 | CYRILLIC SMALL LETTER JE
+    49 |  00000459 | CYRILLIC SMALL LETTER LJE
+    4A |  0000045A | CYRILLIC SMALL LETTER NJE
+    4B |  0000045B | CYRILLIC SMALL LETTER TSHE
+    4C |  0000045C | CYRILLIC SMALL LETTER KJE
+    4D |  0000045E | CYRILLIC SMALL LETTER SHORT U
+    4E |  0000045F | CYRILLIC SMALL LETTER DZHE
+    50 |  00000463 | CYRILLIC SMALL LETTER YAT
+    51 |  00000473 | CYRILLIC SMALL LETTER FITA
+    52 |  00000475 | CYRILLIC SMALL LETTER IZHITSA
+    53 |  0000046B | CYRILLIC SMALL LETTER BIG YUS
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5F |  0000005F | LOW LINE
+    60 |  00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    61 |  00000402 | CYRILLIC CAPITAL LETTER DJE
+    62 |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    63 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    64 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    65 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    66 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    67 |  00000407 | CYRILLIC CAPITAL LETTER YI
+    68 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    69 |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    6A |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    6B |  0000040B | CYRILLIC CAPITAL LETTER TSHE
+    6C |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    6D |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
+    6E |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    6F |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    70 |  00000462 | CYRILLIC CAPITAL LETTER YAT
+    71 |  00000472 | CYRILLIC CAPITAL LETTER FITA
+    72 |  00000474 | CYRILLIC CAPITAL LETTER IZHITSA
+    73 |  0000046A | CYRILLIC CAPITAL LETTER BIG YUS
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5428.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5428.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5428.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_5428.pm 12 Oct 2011 
23:51:42 -0000      1.1
@@ -0,0 +1,849 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_5428.pm,v 1.1 2011/10/12 23:51:42 pertusus Exp $
+
+# Conversion routines for ISO_5428.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_5428;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0xe002,
+    0xe003,
+    0xe009,
+    0xe005,
+    0xe012,
+    0xe013,
+    0xe014,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00ab,
+    0x00bb,
+    0x201d,
+    0x201c,
+    0x0374,
+    0x0375,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00b7,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x003b,
+    0xfffd,
+    0x0391,
+    0x0392,
+    0xfffd,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x03da,
+    0x03dc,
+    0x0396,
+    0x0397,
+    0x0398,
+    0x0399,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039e,
+    0x039f,
+    0x03a0,
+    0x03de,
+    0x03a1,
+    0x03a3,
+    0xfffd,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0x03e0,
+    0xfffd,
+    0xfffd,
+    0x03b1,
+    0x03b2,
+    0x03d0,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0xe01a,
+    0xe01b,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0xe01c,
+    0x03c1,
+    0x03c3,
+    0x03c2,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x03c8,
+    0x03c9,
+    0xe01d,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\xee\x80\x82",
+    "\xee\x80\x83",
+    "\xee\x80\x89",
+    "\xee\x80\x85",
+    "\xee\x80\x92",
+    "\xee\x80\x93",
+    "\xee\x80\x94",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x9c",
+    "\xcd\xb4",
+    "\xcd\xb5",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xb7",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\x3b",
+    "\xef\xbf\xbd",
+    "\xce\x91",
+    "\xce\x92",
+    "\xef\xbf\xbd",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xcf\x9a",
+    "\xcf\x9c",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x98",
+    "\xce\x99",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xcf\x9e",
+    "\xce\xa1",
+    "\xce\xa3",
+    "\xef\xbf\xbd",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xcf\xa0",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xcf\x90",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xee\x80\x9a",
+    "\xee\x80\x9b",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xee\x80\x9c",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xcf\x82",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\xcf\x89",
+    "\xee\x80\x9d",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x0000003b => "\x3f",
+    0x0000007f => "\x7f",
+    0x000000ab => "\x30",
+    0x000000b7 => "\x3b",
+    0x000000bb => "\x31",
+    0x00000374 => "\x34",
+    0x00000375 => "\x35",
+    0x00000391 => "\x41",
+    0x00000392 => "\x42",
+    0x00000393 => "\x44",
+    0x00000394 => "\x45",
+    0x00000395 => "\x46",
+    0x00000396 => "\x49",
+    0x00000397 => "\x4a",
+    0x00000398 => "\x4b",
+    0x00000399 => "\x4c",
+    0x0000039a => "\x4d",
+    0x0000039b => "\x4e",
+    0x0000039c => "\x4f",
+    0x0000039d => "\x50",
+    0x0000039e => "\x51",
+    0x0000039f => "\x52",
+    0x000003a0 => "\x53",
+    0x000003a1 => "\x55",
+    0x000003a3 => "\x56",
+    0x000003a4 => "\x58",
+    0x000003a5 => "\x59",
+    0x000003a6 => "\x5a",
+    0x000003a7 => "\x5b",
+    0x000003a8 => "\x5c",
+    0x000003a9 => "\x5d",
+    0x000003b1 => "\x61",
+    0x000003b2 => "\x62",
+    0x000003b3 => "\x64",
+    0x000003b4 => "\x65",
+    0x000003b5 => "\x66",
+    0x000003b6 => "\x69",
+    0x000003b7 => "\x6a",
+    0x000003b8 => "\x6b",
+    0x000003b9 => "\x6c",
+    0x000003ba => "\x6d",
+    0x000003bb => "\x6e",
+    0x000003bc => "\x6f",
+    0x000003bd => "\x70",
+    0x000003be => "\x71",
+    0x000003bf => "\x72",
+    0x000003c0 => "\x73",
+    0x000003c1 => "\x75",
+    0x000003c2 => "\x77",
+    0x000003c3 => "\x76",
+    0x000003c4 => "\x78",
+    0x000003c5 => "\x79",
+    0x000003c6 => "\x7a",
+    0x000003c7 => "\x7b",
+    0x000003c8 => "\x7c",
+    0x000003c9 => "\x7d",
+    0x000003d0 => "\x63",
+    0x000003da => "\x47",
+    0x000003dc => "\x48",
+    0x000003de => "\x54",
+    0x000003e0 => "\x5e",
+    0x0000201c => "\x33",
+    0x0000201d => "\x32",
+    0x0000e002 => "\x21",
+    0x0000e003 => "\x22",
+    0x0000e005 => "\x24",
+    0x0000e009 => "\x23",
+    0x0000e012 => "\x25",
+    0x0000e013 => "\x26",
+    0x0000e014 => "\x27",
+    0x0000e01a => "\x67",
+    0x0000e01b => "\x68",
+    0x0000e01c => "\x74",
+    0x0000e01d => "\x7e",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_5428 - Conversion routines for ISO_5428
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO_5428.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-55
+ alias ISO_5428:1980
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  0000E002 | NON-SPACING GRAVE ACCENT E<lt>ISO-IR-103_C1E<gt> (not a 
real character)
+    22 |  0000E003 | NON-SPACING ACUTE ACCENT E<lt>ISO-IR-103_C2E<gt> (not a 
real character)
+    23 |  0000E009 | NON-SPACING DIAERESIS E<lt>ISO-IR-103_C8E<gt> (not a real 
character)
+    24 |  0000E005 | NON-SPACING TILDE E<lt>ISO-IR-103_C4E<gt> (not a real 
character)
+    25 |  0000E012 | GREEK NON-SPACING PSILI PNEUMATA E<lt>ISO-IR-55_25E<gt> 
(not a real character)
+    26 |  0000E013 | GREEK NON-SPACING DASIA PNEUMATA E<lt>ISO-IR-55_26E<gt> 
(not a real character)
+    27 |  0000E014 | GREEK NON-SPACING IOTA BELOW E<lt>ISO-IR-55_27E<gt> (not 
a real character)
+    30 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    31 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    32 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    33 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    34 |  00000374 | GREEK NUMERAL SIGN (Dexia keraia)
+    35 |  00000375 | GREEK LOWER NUMERAL SIGN (Aristeri keraia)
+    3B |  000000B7 | MIDDLE DOT
+    3F |  0000003B | SEMICOLON
+    41 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    42 |  00000392 | GREEK CAPITAL LETTER BETA
+    44 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    45 |  00000394 | GREEK CAPITAL LETTER DELTA
+    46 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    47 |  000003DA | GREEK LETTER STIGMA
+    48 |  000003DC | GREEK LETTER DIGAMMA
+    49 |  00000396 | GREEK CAPITAL LETTER ZETA
+    4A |  00000397 | GREEK CAPITAL LETTER ETA
+    4B |  00000398 | GREEK CAPITAL LETTER THETA
+    4C |  00000399 | GREEK CAPITAL LETTER IOTA
+    4D |  0000039A | GREEK CAPITAL LETTER KAPPA
+    4E |  0000039B | GREEK CAPITAL LETTER LAMDA
+    4F |  0000039C | GREEK CAPITAL LETTER MU
+    50 |  0000039D | GREEK CAPITAL LETTER NU
+    51 |  0000039E | GREEK CAPITAL LETTER XI
+    52 |  0000039F | GREEK CAPITAL LETTER OMICRON
+    53 |  000003A0 | GREEK CAPITAL LETTER PI
+    54 |  000003DE | GREEK LETTER KOPPA
+    55 |  000003A1 | GREEK CAPITAL LETTER RHO
+    56 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    58 |  000003A4 | GREEK CAPITAL LETTER TAU
+    59 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    5A |  000003A6 | GREEK CAPITAL LETTER PHI
+    5B |  000003A7 | GREEK CAPITAL LETTER CHI
+    5C |  000003A8 | GREEK CAPITAL LETTER PSI
+    5D |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    5E |  000003E0 | GREEK LETTER SAMPI
+    61 |  000003B1 | GREEK SMALL LETTER ALPHA
+    62 |  000003B2 | GREEK SMALL LETTER BETA
+    63 |  000003D0 | GREEK BETA SYMBOL
+    64 |  000003B3 | GREEK SMALL LETTER GAMMA
+    65 |  000003B4 | GREEK SMALL LETTER DELTA
+    66 |  000003B5 | GREEK SMALL LETTER EPSILON
+    67 |  0000E01A | GREEK SMALL LETTER STIGMA E<lt>ISO-IR-55_47E<gt>
+    68 |  0000E01B | GREEK SMALL LETTER DIGAMMA E<lt>ISO-IR-55_48E<gt>
+    69 |  000003B6 | GREEK SMALL LETTER ZETA
+    6A |  000003B7 | GREEK SMALL LETTER ETA
+    6B |  000003B8 | GREEK SMALL LETTER THETA
+    6C |  000003B9 | GREEK SMALL LETTER IOTA
+    6D |  000003BA | GREEK SMALL LETTER KAPPA
+    6E |  000003BB | GREEK SMALL LETTER LAMDA
+    6F |  000003BC | GREEK SMALL LETTER MU
+    70 |  000003BD | GREEK SMALL LETTER NU
+    71 |  000003BE | GREEK SMALL LETTER XI
+    72 |  000003BF | GREEK SMALL LETTER OMICRON
+    73 |  000003C0 | GREEK SMALL LETTER PI
+    74 |  0000E01C | GREEK SMALL LETTER KOPPA E<lt>ISO-IR-55_54E<gt>
+    75 |  000003C1 | GREEK SMALL LETTER RHO
+    76 |  000003C3 | GREEK SMALL LETTER SIGMA
+    77 |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    78 |  000003C4 | GREEK SMALL LETTER TAU
+    79 |  000003C5 | GREEK SMALL LETTER UPSILON
+    7A |  000003C6 | GREEK SMALL LETTER PHI
+    7B |  000003C7 | GREEK SMALL LETTER CHI
+    7C |  000003C8 | GREEK SMALL LETTER PSI
+    7D |  000003C9 | GREEK SMALL LETTER OMEGA
+    7E |  0000E01D | GREEK SMALL LETTER SAMPI E<lt>ISO-IR-55_5EE<gt>
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_1.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_1.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_1.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_1.pm       12 Oct 
2011 23:51:42 -0000      1.1
@@ -0,0 +1,612 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+
+# Conversion routines for ISO-8859-1.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_1;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+use constant TO_UTF8 => [
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xbf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x90",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc3\xbf",
+];
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               # FIXME: Maybe the lookup is cheaper than the call to chr().
+               $_[1] = join '', 
+                   map $_ > 255 ? "\x3f" : chr $_,
+                           @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8') {
+               $_[1] = join '', map TO_UTF8->[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ unpack 'C*', $_[1] ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_1 - Conversion routines for ISO-8859-1
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module contains the conversion tables and routines for ISO-8859-1.
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  000000D0 | LATIN CAPITAL LETTER ETH
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  000000DE | LATIN CAPITAL LETTER THORN
+    DF |  000000DF | LATIN SMALL LETTER SHARP S
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_10.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_10.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_10.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_10.pm      12 Oct 
2011 23:51:43 -0000      1.1
@@ -0,0 +1,1150 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_10.pm,v 1.1 2011/10/12 23:51:43 pertusus Exp $
+
+# Conversion routines for ISO-8859-10.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_10;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0104,
+    0x0112,
+    0x0122,
+    0x012a,
+    0x0128,
+    0x0136,
+    0x00a7,
+    0x013b,
+    0x0110,
+    0x0160,
+    0x0166,
+    0x017d,
+    0x00ad,
+    0x016a,
+    0x014a,
+    0x00b0,
+    0x0105,
+    0x0113,
+    0x0123,
+    0x012b,
+    0x0129,
+    0x0137,
+    0x00b7,
+    0x013c,
+    0x0111,
+    0x0161,
+    0x0167,
+    0x017e,
+    0x2015,
+    0x016b,
+    0x014b,
+    0x0100,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x012e,
+    0x010c,
+    0x00c9,
+    0x0118,
+    0x00cb,
+    0x0116,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00d0,
+    0x0145,
+    0x014c,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x0168,
+    0x00d8,
+    0x0172,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x00dd,
+    0x00de,
+    0x00df,
+    0x0101,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x012f,
+    0x010d,
+    0x00e9,
+    0x0119,
+    0x00eb,
+    0x0117,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x0146,
+    0x014d,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x0169,
+    0x00f8,
+    0x0173,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x00fe,
+    0x0138,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc4\x84",
+    "\xc4\x92",
+    "\xc4\xa2",
+    "\xc4\xaa",
+    "\xc4\xa8",
+    "\xc4\xb6",
+    "\xc2\xa7",
+    "\xc4\xbb",
+    "\xc4\x90",
+    "\xc5\xa0",
+    "\xc5\xa6",
+    "\xc5\xbd",
+    "\xc2\xad",
+    "\xc5\xaa",
+    "\xc5\x8a",
+    "\xc2\xb0",
+    "\xc4\x85",
+    "\xc4\x93",
+    "\xc4\xa3",
+    "\xc4\xab",
+    "\xc4\xa9",
+    "\xc4\xb7",
+    "\xc2\xb7",
+    "\xc4\xbc",
+    "\xc4\x91",
+    "\xc5\xa1",
+    "\xc5\xa7",
+    "\xc5\xbe",
+    "\xe2\x80\x95",
+    "\xc5\xab",
+    "\xc5\x8b",
+    "\xc4\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc4\xae",
+    "\xc4\x8c",
+    "\xc3\x89",
+    "\xc4\x98",
+    "\xc3\x8b",
+    "\xc4\x96",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x90",
+    "\xc5\x85",
+    "\xc5\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc5\xa8",
+    "\xc3\x98",
+    "\xc5\xb2",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc3\x9f",
+    "\xc4\x81",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc4\xaf",
+    "\xc4\x8d",
+    "\xc3\xa9",
+    "\xc4\x99",
+    "\xc3\xab",
+    "\xc4\x97",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc5\x86",
+    "\xc5\x8d",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc5\xa9",
+    "\xc3\xb8",
+    "\xc5\xb3",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc4\xb8",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a7 => "\xa7",
+    0x000000ad => "\xad",
+    0x000000b0 => "\xb0",
+    0x000000b7 => "\xb7",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c9 => "\xc9",
+    0x000000cb => "\xcb",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d0 => "\xd0",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d8 => "\xd8",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000de => "\xde",
+    0x000000df => "\xdf",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e9 => "\xe9",
+    0x000000eb => "\xeb",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f0 => "\xf0",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f8 => "\xf8",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000fe => "\xfe",
+    0x00000100 => "\xc0",
+    0x00000101 => "\xe0",
+    0x00000104 => "\xa1",
+    0x00000105 => "\xb1",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x00000110 => "\xa9",
+    0x00000111 => "\xb9",
+    0x00000112 => "\xa2",
+    0x00000113 => "\xb2",
+    0x00000116 => "\xcc",
+    0x00000117 => "\xec",
+    0x00000118 => "\xca",
+    0x00000119 => "\xea",
+    0x00000122 => "\xa3",
+    0x00000123 => "\xb3",
+    0x00000128 => "\xa5",
+    0x00000129 => "\xb5",
+    0x0000012a => "\xa4",
+    0x0000012b => "\xb4",
+    0x0000012e => "\xc7",
+    0x0000012f => "\xe7",
+    0x00000136 => "\xa6",
+    0x00000137 => "\xb6",
+    0x00000138 => "\xff",
+    0x0000013b => "\xa8",
+    0x0000013c => "\xb8",
+    0x00000145 => "\xd1",
+    0x00000146 => "\xf1",
+    0x0000014a => "\xaf",
+    0x0000014b => "\xbf",
+    0x0000014c => "\xd2",
+    0x0000014d => "\xf2",
+    0x00000160 => "\xaa",
+    0x00000161 => "\xba",
+    0x00000166 => "\xab",
+    0x00000167 => "\xbb",
+    0x00000168 => "\xd7",
+    0x00000169 => "\xf7",
+    0x0000016a => "\xae",
+    0x0000016b => "\xbe",
+    0x00000172 => "\xd9",
+    0x00000173 => "\xf9",
+    0x0000017d => "\xac",
+    0x0000017e => "\xbc",
+    0x00002015 => "\xbd",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_10 - Conversion routines for ISO-8859-10
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-10.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-157
+ alias ISO_8859-10:1992
+ alias ISO_8859-10
+ alias L6
+ alias LATIN6
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    A2 |  00000112 | LATIN CAPITAL LETTER E WITH MACRON
+    A3 |  00000122 | LATIN CAPITAL LETTER G WITH CEDILLA
+    A4 |  0000012A | LATIN CAPITAL LETTER I WITH MACRON
+    A5 |  00000128 | LATIN CAPITAL LETTER I WITH TILDE
+    A6 |  00000136 | LATIN CAPITAL LETTER K WITH CEDILLA
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  0000013B | LATIN CAPITAL LETTER L WITH CEDILLA
+    A9 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    AA |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    AB |  00000166 | LATIN CAPITAL LETTER T WITH STROKE
+    AC |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    AD |  000000AD | SOFT HYPHEN
+    AE |  0000016A | LATIN CAPITAL LETTER U WITH MACRON
+    AF |  0000014A | LATIN CAPITAL LETTER ENG (Sami)
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    B2 |  00000113 | LATIN SMALL LETTER E WITH MACRON
+    B3 |  00000123 | LATIN SMALL LETTER G WITH CEDILLA
+    B4 |  0000012B | LATIN SMALL LETTER I WITH MACRON
+    B5 |  00000129 | LATIN SMALL LETTER I WITH TILDE
+    B6 |  00000137 | LATIN SMALL LETTER K WITH CEDILLA
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  0000013C | LATIN SMALL LETTER L WITH CEDILLA
+    B9 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    BA |  00000161 | LATIN SMALL LETTER S WITH CARON
+    BB |  00000167 | LATIN SMALL LETTER T WITH STROKE
+    BC |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    BD |  00002015 | HORIZONTAL BAR
+    BE |  0000016B | LATIN SMALL LETTER U WITH MACRON
+    BF |  0000014B | LATIN SMALL LETTER ENG (Sami)
+    C0 |  00000100 | LATIN CAPITAL LETTER A WITH MACRON
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  0000012E | LATIN CAPITAL LETTER I WITH OGONEK
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  00000116 | LATIN CAPITAL LETTER E WITH DOT ABOVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    D1 |  00000145 | LATIN CAPITAL LETTER N WITH CEDILLA
+    D2 |  0000014C | LATIN CAPITAL LETTER O WITH MACRON
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  00000168 | LATIN CAPITAL LETTER U WITH TILDE
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  00000172 | LATIN CAPITAL LETTER U WITH OGONEK
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  00000101 | LATIN SMALL LETTER A WITH MACRON
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  0000012F | LATIN SMALL LETTER I WITH OGONEK
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  00000117 | LATIN SMALL LETTER E WITH DOT ABOVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    F1 |  00000146 | LATIN SMALL LETTER N WITH CEDILLA
+    F2 |  0000014D | LATIN SMALL LETTER O WITH MACRON
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  00000169 | LATIN SMALL LETTER U WITH TILDE
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  00000173 | LATIN SMALL LETTER U WITH OGONEK
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    FF |  00000138 | LATIN SMALL LETTER KRA (Greenlandic)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_11.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_11.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_11.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_11.pm      12 Oct 
2011 23:51:43 -0000      1.1
@@ -0,0 +1,1070 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_11.pm,v 1.1 2011/10/12 23:51:43 pertusus Exp $
+
+# Conversion routines for ISO-8859-11.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_11;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+       0xfffd,
+    0x00a0,
+    0x0e01,
+    0x0e02,
+    0x0e03,
+    0x0e04,
+    0x0e05,
+    0x0e06,
+    0x0e07,
+    0x0e08,
+    0x0e09,
+    0x0e0a,
+    0x0e0b,
+    0x0e0c,
+    0x0e0d,
+    0x0e0e,
+    0x0e0f,
+    0x0e10,
+    0x0e11,
+    0x0e12,
+    0x0e13,
+    0x0e14,
+    0x0e15,
+    0x0e16,
+    0x0e17,
+    0x0e18,
+    0x0e19,
+    0x0e1a,
+    0x0e1b,
+    0x0e1c,
+    0x0e1d,
+    0x0e1e,
+    0x0e1f,
+    0x0e20,
+    0x0e21,
+    0x0e22,
+    0x0e23,
+    0x0e24,
+    0x0e25,
+    0x0e26,
+    0x0e27,
+    0x0e28,
+    0x0e29,
+    0x0e2a,
+    0x0e2b,
+    0x0e2c,
+    0x0e2d,
+    0x0e2e,
+    0x0e2f,
+    0x0e30,
+    0x0e31,
+    0x0e32,
+    0x0e33,
+    0x0e34,
+    0x0e35,
+    0x0e36,
+    0x0e37,
+    0x0e38,
+    0x0e39,
+    0x0e3a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0e3f,
+    0x0e40,
+    0x0e41,
+    0x0e42,
+    0x0e43,
+    0x0e44,
+    0x0e45,
+    0x0e46,
+    0x0e47,
+    0x0e48,
+    0x0e49,
+    0x0e4a,
+    0x0e4b,
+    0x0e4c,
+    0x0e4d,
+    0x0e4e,
+    0x0e4f,
+    0x0e50,
+    0x0e51,
+    0x0e52,
+    0x0e53,
+    0x0e54,
+    0x0e55,
+    0x0e56,
+    0x0e57,
+    0x0e58,
+    0x0e59,
+    0x0e5a,
+    0x0e5b,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa0",
+    "\xe0\xb8\x81",
+    "\xe0\xb8\x82",
+    "\xe0\xb8\x83",
+    "\xe0\xb8\x84",
+    "\xe0\xb8\x85",
+    "\xe0\xb8\x86",
+    "\xe0\xb8\x87",
+    "\xe0\xb8\x88",
+    "\xe0\xb8\x89",
+    "\xe0\xb8\x8a",
+    "\xe0\xb8\x8b",
+    "\xe0\xb8\x8c",
+    "\xe0\xb8\x8d",
+    "\xe0\xb8\x8e",
+    "\xe0\xb8\x8f",
+    "\xe0\xb8\x90",
+    "\xe0\xb8\x91",
+    "\xe0\xb8\x92",
+    "\xe0\xb8\x93",
+    "\xe0\xb8\x94",
+    "\xe0\xb8\x95",
+    "\xe0\xb8\x96",
+    "\xe0\xb8\x97",
+    "\xe0\xb8\x98",
+    "\xe0\xb8\x99",
+    "\xe0\xb8\x9a",
+    "\xe0\xb8\x9b",
+    "\xe0\xb8\x9c",
+    "\xe0\xb8\x9d",
+    "\xe0\xb8\x9e",
+    "\xe0\xb8\x9f",
+    "\xe0\xb8\xa0",
+    "\xe0\xb8\xa1",
+    "\xe0\xb8\xa2",
+    "\xe0\xb8\xa3",
+    "\xe0\xb8\xa4",
+    "\xe0\xb8\xa5",
+    "\xe0\xb8\xa6",
+    "\xe0\xb8\xa7",
+    "\xe0\xb8\xa8",
+    "\xe0\xb8\xa9",
+    "\xe0\xb8\xaa",
+    "\xe0\xb8\xab",
+    "\xe0\xb8\xac",
+    "\xe0\xb8\xad",
+    "\xe0\xb8\xae",
+    "\xe0\xb8\xaf",
+    "\xe0\xb8\xb0",
+    "\xe0\xb8\xb1",
+    "\xe0\xb8\xb2",
+    "\xe0\xb8\xb3",
+    "\xe0\xb8\xb4",
+    "\xe0\xb8\xb5",
+    "\xe0\xb8\xb6",
+    "\xe0\xb8\xb7",
+    "\xe0\xb8\xb8",
+    "\xe0\xb8\xb9",
+    "\xe0\xb8\xba",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe0\xb8\xbf",
+    "\xe0\xb9\x80",
+    "\xe0\xb9\x81",
+    "\xe0\xb9\x82",
+    "\xe0\xb9\x83",
+    "\xe0\xb9\x84",
+    "\xe0\xb9\x85",
+    "\xe0\xb9\x86",
+    "\xe0\xb9\x87",
+    "\xe0\xb9\x88",
+    "\xe0\xb9\x89",
+    "\xe0\xb9\x8a",
+    "\xe0\xb9\x8b",
+    "\xe0\xb9\x8c",
+    "\xe0\xb9\x8d",
+    "\xe0\xb9\x8e",
+    "\xe0\xb9\x8f",
+    "\xe0\xb9\x90",
+    "\xe0\xb9\x91",
+    "\xe0\xb9\x92",
+    "\xe0\xb9\x93",
+    "\xe0\xb9\x94",
+    "\xe0\xb9\x95",
+    "\xe0\xb9\x96",
+    "\xe0\xb9\x97",
+    "\xe0\xb9\x98",
+    "\xe0\xb9\x99",
+    "\xe0\xb9\x9a",
+    "\xe0\xb9\x9b",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x00000e01 => "\xa1",
+    0x00000e02 => "\xa2",
+    0x00000e03 => "\xa3",
+    0x00000e04 => "\xa4",
+    0x00000e05 => "\xa5",
+    0x00000e06 => "\xa6",
+    0x00000e07 => "\xa7",
+    0x00000e08 => "\xa8",
+    0x00000e09 => "\xa9",
+    0x00000e0a => "\xaa",
+    0x00000e0b => "\xab",
+    0x00000e0c => "\xac",
+    0x00000e0d => "\xad",
+    0x00000e0e => "\xae",
+    0x00000e0f => "\xaf",
+    0x00000e10 => "\xb0",
+    0x00000e11 => "\xb1",
+    0x00000e12 => "\xb2",
+    0x00000e13 => "\xb3",
+    0x00000e14 => "\xb4",
+    0x00000e15 => "\xb5",
+    0x00000e16 => "\xb6",
+    0x00000e17 => "\xb7",
+    0x00000e18 => "\xb8",
+    0x00000e19 => "\xb9",
+    0x00000e1a => "\xba",
+    0x00000e1b => "\xbb",
+    0x00000e1c => "\xbc",
+    0x00000e1d => "\xbd",
+    0x00000e1e => "\xbe",
+    0x00000e1f => "\xbf",
+    0x00000e20 => "\xc0",
+    0x00000e21 => "\xc1",
+    0x00000e22 => "\xc2",
+    0x00000e23 => "\xc3",
+    0x00000e24 => "\xc4",
+    0x00000e25 => "\xc5",
+    0x00000e26 => "\xc6",
+    0x00000e27 => "\xc7",
+    0x00000e28 => "\xc8",
+    0x00000e29 => "\xc9",
+    0x00000e2a => "\xca",
+    0x00000e2b => "\xcb",
+    0x00000e2c => "\xcc",
+    0x00000e2d => "\xcd",
+    0x00000e2e => "\xce",
+    0x00000e2f => "\xcf",
+    0x00000e30 => "\xd0",
+    0x00000e31 => "\xd1",
+    0x00000e32 => "\xd2",
+    0x00000e33 => "\xd3",
+    0x00000e34 => "\xd4",
+    0x00000e35 => "\xd5",
+    0x00000e36 => "\xd6",
+    0x00000e37 => "\xd7",
+    0x00000e38 => "\xd8",
+    0x00000e39 => "\xd9",
+    0x00000e3a => "\xda",
+    0x00000e3f => "\xdf",
+    0x00000e40 => "\xe0",
+    0x00000e41 => "\xe1",
+    0x00000e42 => "\xe2",
+    0x00000e43 => "\xe3",
+    0x00000e44 => "\xe4",
+    0x00000e45 => "\xe5",
+    0x00000e46 => "\xe6",
+    0x00000e47 => "\xe7",
+    0x00000e48 => "\xe8",
+    0x00000e49 => "\xe9",
+    0x00000e4a => "\xea",
+    0x00000e4b => "\xeb",
+    0x00000e4c => "\xec",
+    0x00000e4d => "\xed",
+    0x00000e4e => "\xee",
+    0x00000e4f => "\xef",
+    0x00000e50 => "\xf0",
+    0x00000e51 => "\xf1",
+    0x00000e52 => "\xf2",
+    0x00000e53 => "\xf3",
+    0x00000e54 => "\xf4",
+    0x00000e55 => "\xf5",
+    0x00000e56 => "\xf6",
+    0x00000e57 => "\xf7",
+    0x00000e58 => "\xf8",
+    0x00000e59 => "\xf9",
+    0x00000e5a => "\xfa",
+    0x00000e5b => "\xfb",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_11 - Conversion routines for ISO-8859-11
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-11.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ source: Guido Flohr E<lt>address@hidden<gt>
+
+ The encoding ISO-8859-11 is not yet official at the time of this writing.
+ It is based on TIS-620, but with the addition of the non-breaking space.
+
+ The mapping of 0xfc-0xff is identical to Latin-1 but this should be
+ checked.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000E01 | THAI CHARACTER KO KAI
+    A2 |  00000E02 | THAI CHARACTER KHO KHAI
+    A3 |  00000E03 | THAI CHARACTER KHO KHUAT
+    A4 |  00000E04 | THAI CHARACTER KHO KHWAI
+    A5 |  00000E05 | THAI CHARACTER KHO KHON
+    A6 |  00000E06 | THAI CHARACTER KHO RAKHANG
+    A7 |  00000E07 | THAI CHARACTER NGO NGU
+    A8 |  00000E08 | THAI CHARACTER CHO CHAN
+    A9 |  00000E09 | THAI CHARACTER CHO CHING
+    AA |  00000E0A | THAI CHARACTER CHO CHANG
+    AB |  00000E0B | THAI CHARACTER SO SO
+    AC |  00000E0C | THAI CHARACTER CHO CHOE
+    AD |  00000E0D | THAI CHARACTER YO YING
+    AE |  00000E0E | THAI CHARACTER DO CHADA
+    AF |  00000E0F | THAI CHARACTER TO PATAK
+    B0 |  00000E10 | THAI CHARACTER THO THAN
+    B1 |  00000E11 | THAI CHARACTER THO NANGMONTHO
+    B2 |  00000E12 | THAI CHARACTER THO PHUTHAO
+    B3 |  00000E13 | THAI CHARACTER NO NEN
+    B4 |  00000E14 | THAI CHARACTER DO DEK
+    B5 |  00000E15 | THAI CHARACTER TO TAO
+    B6 |  00000E16 | THAI CHARACTER THO THUNG
+    B7 |  00000E17 | THAI CHARACTER THO THAHAN
+    B8 |  00000E18 | THAI CHARACTER THO THONG
+    B9 |  00000E19 | THAI CHARACTER NO NU
+    BA |  00000E1A | THAI CHARACTER BO BAIMAI
+    BB |  00000E1B | THAI CHARACTER PO PLA
+    BC |  00000E1C | THAI CHARACTER PHO PHUNG
+    BD |  00000E1D | THAI CHARACTER FO FA
+    BE |  00000E1E | THAI CHARACTER PHO PHAN
+    BF |  00000E1F | THAI CHARACTER FO FAN
+    C0 |  00000E20 | THAI CHARACTER PHO SAMPHAO
+    C1 |  00000E21 | THAI CHARACTER MO MA
+    C2 |  00000E22 | THAI CHARACTER YO YAK
+    C3 |  00000E23 | THAI CHARACTER RO RUA
+    C4 |  00000E24 | THAI CHARACTER RU
+    C5 |  00000E25 | THAI CHARACTER LO LING
+    C6 |  00000E26 | THAI CHARACTER LU
+    C7 |  00000E27 | THAI CHARACTER WO WAEN
+    C8 |  00000E28 | THAI CHARACTER SO SALA
+    C9 |  00000E29 | THAI CHARACTER SO RUSI
+    CA |  00000E2A | THAI CHARACTER SO SUA
+    CB |  00000E2B | THAI CHARACTER HO HIP
+    CC |  00000E2C | THAI CHARACTER LO CHULA
+    CD |  00000E2D | THAI CHARACTER O ANG
+    CE |  00000E2E | THAI CHARACTER HO NOKHUK
+    CF |  00000E2F | THAI CHARACTER PAIYANNOI
+    D0 |  00000E30 | THAI CHARACTER SARA A
+    D1 |  00000E31 | THAI CHARACTER MAI HAN-AKAT
+    D2 |  00000E32 | THAI CHARACTER SARA AA
+    D3 |  00000E33 | THAI CHARACTER SARA AM
+    D4 |  00000E34 | THAI CHARACTER SARA I
+    D5 |  00000E35 | THAI CHARACTER SARA II
+    D6 |  00000E36 | THAI CHARACTER SARA UE
+    D7 |  00000E37 | THAI CHARACTER SARA UEE
+    D8 |  00000E38 | THAI CHARACTER SARA U
+    D9 |  00000E39 | THAI CHARACTER SARA UU
+    DA |  00000E3A | THAI CHARACTER PHINTHU
+    DF |  00000E3F | THAI CHARACTER SYMBOL BAHT
+    E0 |  00000E40 | THAI CHARACTER SARA E
+    E1 |  00000E41 | THAI CHARACTER SARA AE
+    E2 |  00000E42 | THAI CHARACTER SARA O
+    E3 |  00000E43 | THAI CHARACTER SARA AI MAIMUAN
+    E4 |  00000E44 | THAI CHARACTER SARA AI MAIMALAI
+    E5 |  00000E45 | THAI CHARACTER LAKKHANGYAO
+    E6 |  00000E46 | THAI CHARACTER MAIYAMOK
+    E7 |  00000E47 | THAI CHARACTER MAITAIKHU
+    E8 |  00000E48 | THAI CHARACTER MAI EK
+    E9 |  00000E49 | THAI CHARACTER MAI THO
+    EA |  00000E4A | THAI CHARACTER MAI TRI
+    EB |  00000E4B | THAI CHARACTER MAI CHATTAWA
+    EC |  00000E4C | THAI CHARACTER THANTHAKHAT
+    ED |  00000E4D | THAI CHARACTER NIKHAHIT
+    EE |  00000E4E | THAI CHARACTER YAMAKKAN
+    EF |  00000E4F | THAI CHARACTER FONGMAN
+    F0 |  00000E50 | THAI DIGIT ZERO
+    F1 |  00000E51 | THAI DIGIT ONE
+    F2 |  00000E52 | THAI DIGIT TWO
+    F3 |  00000E53 | THAI DIGIT THREE
+    F4 |  00000E54 | THAI DIGIT FOUR
+    F5 |  00000E55 | THAI DIGIT FIVE
+    F6 |  00000E56 | THAI DIGIT SIX
+    F7 |  00000E57 | THAI DIGIT SEVEN
+    F8 |  00000E58 | THAI DIGIT EIGHT
+    F9 |  00000E59 | THAI DIGIT NINE
+    FA |  00000E5A | THAI CHARACTER ANGKHANKHU
+    FB |  00000E5B | THAI CHARACTER KHOMUT
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_13.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_13.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_13.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_13.pm      12 Oct 
2011 23:51:43 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_13.pm,v 1.1 2011/10/12 23:51:43 pertusus Exp $
+
+# Conversion routines for ISO-8859-13.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_13;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x201d,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x201e,
+    0x00a6,
+    0x00a7,
+    0x00d8,
+    0x00a9,
+    0x0156,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00c6,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x201c,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00f8,
+    0x00b9,
+    0x0157,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00e6,
+    0x0104,
+    0x012e,
+    0x0100,
+    0x0106,
+    0x00c4,
+    0x00c5,
+    0x0118,
+    0x0112,
+    0x010c,
+    0x00c9,
+    0x0179,
+    0x0116,
+    0x0122,
+    0x0136,
+    0x012a,
+    0x013b,
+    0x0160,
+    0x0143,
+    0x0145,
+    0x00d3,
+    0x014c,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x0172,
+    0x0141,
+    0x015a,
+    0x016a,
+    0x00dc,
+    0x017b,
+    0x017d,
+    0x00df,
+    0x0105,
+    0x012f,
+    0x0101,
+    0x0107,
+    0x00e4,
+    0x00e5,
+    0x0119,
+    0x0113,
+    0x010d,
+    0x00e9,
+    0x017a,
+    0x0117,
+    0x0123,
+    0x0137,
+    0x012b,
+    0x013c,
+    0x0161,
+    0x0144,
+    0x0146,
+    0x00f3,
+    0x014d,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x0173,
+    0x0142,
+    0x015b,
+    0x016b,
+    0x00fc,
+    0x017c,
+    0x017e,
+    0x2019,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xe2\x80\x9d",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xe2\x80\x9e",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc3\x98",
+    "\xc2\xa9",
+    "\xc5\x96",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc3\x86",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xe2\x80\x9c",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc3\xb8",
+    "\xc2\xb9",
+    "\xc5\x97",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc3\xa6",
+    "\xc4\x84",
+    "\xc4\xae",
+    "\xc4\x80",
+    "\xc4\x86",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc4\x98",
+    "\xc4\x92",
+    "\xc4\x8c",
+    "\xc3\x89",
+    "\xc5\xb9",
+    "\xc4\x96",
+    "\xc4\xa2",
+    "\xc4\xb6",
+    "\xc4\xaa",
+    "\xc4\xbb",
+    "\xc5\xa0",
+    "\xc5\x83",
+    "\xc5\x85",
+    "\xc3\x93",
+    "\xc5\x8c",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc5\xb2",
+    "\xc5\x81",
+    "\xc5\x9a",
+    "\xc5\xaa",
+    "\xc3\x9c",
+    "\xc5\xbb",
+    "\xc5\xbd",
+    "\xc3\x9f",
+    "\xc4\x85",
+    "\xc4\xaf",
+    "\xc4\x81",
+    "\xc4\x87",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc4\x99",
+    "\xc4\x93",
+    "\xc4\x8d",
+    "\xc3\xa9",
+    "\xc5\xba",
+    "\xc4\x97",
+    "\xc4\xa3",
+    "\xc4\xb7",
+    "\xc4\xab",
+    "\xc4\xbc",
+    "\xc5\xa1",
+    "\xc5\x84",
+    "\xc5\x86",
+    "\xc3\xb3",
+    "\xc5\x8d",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc5\xb3",
+    "\xc5\x82",
+    "\xc5\x9b",
+    "\xc5\xab",
+    "\xc3\xbc",
+    "\xc5\xbc",
+    "\xc5\xbe",
+    "\xe2\x80\x99",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b9 => "\xb9",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xaf",
+    0x000000c9 => "\xc9",
+    0x000000d3 => "\xd3",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xa8",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xbf",
+    0x000000e9 => "\xe9",
+    0x000000f3 => "\xf3",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xb8",
+    0x000000fc => "\xfc",
+    0x00000100 => "\xc2",
+    0x00000101 => "\xe2",
+    0x00000104 => "\xc0",
+    0x00000105 => "\xe0",
+    0x00000106 => "\xc3",
+    0x00000107 => "\xe3",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x00000112 => "\xc7",
+    0x00000113 => "\xe7",
+    0x00000116 => "\xcb",
+    0x00000117 => "\xeb",
+    0x00000118 => "\xc6",
+    0x00000119 => "\xe6",
+    0x00000122 => "\xcc",
+    0x00000123 => "\xec",
+    0x0000012a => "\xce",
+    0x0000012b => "\xee",
+    0x0000012e => "\xc1",
+    0x0000012f => "\xe1",
+    0x00000136 => "\xcd",
+    0x00000137 => "\xed",
+    0x0000013b => "\xcf",
+    0x0000013c => "\xef",
+    0x00000141 => "\xd9",
+    0x00000142 => "\xf9",
+    0x00000143 => "\xd1",
+    0x00000144 => "\xf1",
+    0x00000145 => "\xd2",
+    0x00000146 => "\xf2",
+    0x0000014c => "\xd4",
+    0x0000014d => "\xf4",
+    0x00000156 => "\xaa",
+    0x00000157 => "\xba",
+    0x0000015a => "\xda",
+    0x0000015b => "\xfa",
+    0x00000160 => "\xd0",
+    0x00000161 => "\xf0",
+    0x0000016a => "\xdb",
+    0x0000016b => "\xfb",
+    0x00000172 => "\xd8",
+    0x00000173 => "\xf8",
+    0x00000179 => "\xca",
+    0x0000017a => "\xea",
+    0x0000017b => "\xdd",
+    0x0000017c => "\xfd",
+    0x0000017d => "\xde",
+    0x0000017e => "\xfe",
+    0x00002019 => "\xff",
+    0x0000201c => "\xb4",
+    0x0000201d => "\xa1",
+    0x0000201e => "\xa5",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_13 - Conversion routines for ISO-8859-13
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-13.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+ alias ISO-IR-179
+ alias LATIN7
+ alias L7
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00000156 | LATIN CAPITAL LETTER R WITH CEDILLA
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000C6 | LATIN CAPITAL LETTER AE
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  00000157 | LATIN SMALL LETTER R WITH CEDILLA
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000E6 | LATIN SMALL LETTER AE
+    C0 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    C1 |  0000012E | LATIN CAPITAL LETTER I WITH OGONEK
+    C2 |  00000100 | LATIN CAPITAL LETTER A WITH MACRON
+    C3 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    C7 |  00000112 | LATIN CAPITAL LETTER E WITH MACRON
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    CB |  00000116 | LATIN CAPITAL LETTER E WITH DOT ABOVE
+    CC |  00000122 | LATIN CAPITAL LETTER G WITH CEDILLA
+    CD |  00000136 | LATIN CAPITAL LETTER K WITH CEDILLA
+    CE |  0000012A | LATIN CAPITAL LETTER I WITH MACRON
+    CF |  0000013B | LATIN CAPITAL LETTER L WITH CEDILLA
+    D0 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    D1 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    D2 |  00000145 | LATIN CAPITAL LETTER N WITH CEDILLA
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  0000014C | LATIN CAPITAL LETTER O WITH MACRON
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  00000172 | LATIN CAPITAL LETTER U WITH OGONEK
+    D9 |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    DA |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    DB |  0000016A | LATIN CAPITAL LETTER U WITH MACRON
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    DE |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    DF |  000000DF | LATIN SMALL LETTER SHARP S
+    E0 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    E1 |  0000012F | LATIN SMALL LETTER I WITH OGONEK
+    E2 |  00000101 | LATIN SMALL LETTER A WITH MACRON
+    E3 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    E7 |  00000113 | LATIN SMALL LETTER E WITH MACRON
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    EB |  00000117 | LATIN SMALL LETTER E WITH DOT ABOVE
+    EC |  00000123 | LATIN SMALL LETTER G WITH CEDILLA
+    ED |  00000137 | LATIN SMALL LETTER K WITH CEDILLA
+    EE |  0000012B | LATIN SMALL LETTER I WITH MACRON
+    EF |  0000013C | LATIN SMALL LETTER L WITH CEDILLA
+    F0 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    F1 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    F2 |  00000146 | LATIN SMALL LETTER N WITH CEDILLA
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  0000014D | LATIN SMALL LETTER O WITH MACRON
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  00000173 | LATIN SMALL LETTER U WITH OGONEK
+    F9 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    FA |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    FB |  0000016B | LATIN SMALL LETTER U WITH MACRON
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    FE |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    FF |  00002019 | RIGHT SINGLE QUOTATION MARK
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_14.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_14.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_14.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_14.pm      12 Oct 
2011 23:51:43 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_14.pm,v 1.1 2011/10/12 23:51:43 pertusus Exp $
+
+# Conversion routines for ISO-8859-14.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_14;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x1e02,
+    0x1e03,
+    0x00a3,
+    0x010a,
+    0x010b,
+    0x1e0a,
+    0x00a7,
+    0x1e80,
+    0x00a9,
+    0x1e82,
+    0x1e0b,
+    0x1ef2,
+    0x00ad,
+    0x00ae,
+    0x0178,
+    0x1e1e,
+    0x1e1f,
+    0x0120,
+    0x0121,
+    0x1e40,
+    0x1e41,
+    0x00b6,
+    0x1e56,
+    0x1e81,
+    0x1e57,
+    0x1e83,
+    0x1e60,
+    0x1ef3,
+    0x1e84,
+    0x1e85,
+    0x1e61,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x0174,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x1e6a,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x00dd,
+    0x0176,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x0175,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x1e6b,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x0177,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xe1\xb8\x82",
+    "\xe1\xb8\x83",
+    "\xc2\xa3",
+    "\xc4\x8a",
+    "\xc4\x8b",
+    "\xe1\xb8\x8a",
+    "\xc2\xa7",
+    "\xe1\xba\x80",
+    "\xc2\xa9",
+    "\xe1\xba\x82",
+    "\xe1\xb8\x8b",
+    "\xe1\xbb\xb2",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc5\xb8",
+    "\xe1\xb8\x9e",
+    "\xe1\xb8\x9f",
+    "\xc4\xa0",
+    "\xc4\xa1",
+    "\xe1\xb9\x80",
+    "\xe1\xb9\x81",
+    "\xc2\xb6",
+    "\xe1\xb9\x96",
+    "\xe1\xba\x81",
+    "\xe1\xb9\x97",
+    "\xe1\xba\x83",
+    "\xe1\xb9\xa0",
+    "\xe1\xbb\xb3",
+    "\xe1\xba\x84",
+    "\xe1\xba\x85",
+    "\xe1\xb9\xa1",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc5\xb4",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xe1\xb9\xaa",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc5\xb6",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc5\xb5",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xe1\xb9\xab",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc5\xb7",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a3 => "\xa3",
+    0x000000a7 => "\xa7",
+    0x000000a9 => "\xa9",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000b6 => "\xb6",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000ff => "\xff",
+    0x0000010a => "\xa4",
+    0x0000010b => "\xa5",
+    0x00000120 => "\xb2",
+    0x00000121 => "\xb3",
+    0x00000174 => "\xd0",
+    0x00000175 => "\xf0",
+    0x00000176 => "\xde",
+    0x00000177 => "\xfe",
+    0x00000178 => "\xaf",
+    0x00001e02 => "\xa1",
+    0x00001e03 => "\xa2",
+    0x00001e0a => "\xa6",
+    0x00001e0b => "\xab",
+    0x00001e1e => "\xb0",
+    0x00001e1f => "\xb1",
+    0x00001e40 => "\xb4",
+    0x00001e41 => "\xb5",
+    0x00001e56 => "\xb7",
+    0x00001e57 => "\xb9",
+    0x00001e60 => "\xbb",
+    0x00001e61 => "\xbf",
+    0x00001e6a => "\xd7",
+    0x00001e6b => "\xf7",
+    0x00001e80 => "\xa8",
+    0x00001e81 => "\xb8",
+    0x00001e82 => "\xaa",
+    0x00001e83 => "\xba",
+    0x00001e84 => "\xbd",
+    0x00001e85 => "\xbe",
+    0x00001ef2 => "\xac",
+    0x00001ef3 => "\xbc",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_14 - Conversion routines for ISO-8859-14
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-14.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+ alias LATIN8
+ alias L8
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00001E02 | LATIN CAPITAL LETTER B WITH DOT ABOVE
+    A2 |  00001E03 | LATIN SMALL LETTER B WITH DOT ABOVE
+    A3 |  000000A3 | POUND SIGN
+    A4 |  0000010A | LATIN CAPITAL LETTER C WITH DOT ABOVE
+    A5 |  0000010B | LATIN SMALL LETTER C WITH DOT ABOVE
+    A6 |  00001E0A | LATIN CAPITAL LETTER D WITH DOT ABOVE
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  00001E80 | LATIN CAPITAL LETTER W WITH GRAVE
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00001E82 | LATIN CAPITAL LETTER W WITH ACUTE
+    AB |  00001E0B | LATIN SMALL LETTER D WITH DOT ABOVE
+    AC |  00001EF2 | LATIN CAPITAL LETTER Y WITH GRAVE
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    B0 |  00001E1E | LATIN CAPITAL LETTER F WITH DOT ABOVE
+    B1 |  00001E1F | LATIN SMALL LETTER F WITH DOT ABOVE
+    B2 |  00000120 | LATIN CAPITAL LETTER G WITH DOT ABOVE
+    B3 |  00000121 | LATIN SMALL LETTER G WITH DOT ABOVE
+    B4 |  00001E40 | LATIN CAPITAL LETTER M WITH DOT ABOVE
+    B5 |  00001E41 | LATIN SMALL LETTER M WITH DOT ABOVE
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  00001E56 | LATIN CAPITAL LETTER P WITH DOT ABOVE
+    B8 |  00001E81 | LATIN SMALL LETTER W WITH GRAVE
+    B9 |  00001E57 | LATIN SMALL LETTER P WITH DOT ABOVE
+    BA |  00001E83 | LATIN SMALL LETTER W WITH ACUTE
+    BB |  00001E60 | LATIN CAPITAL LETTER S WITH DOT ABOVE
+    BC |  00001EF3 | LATIN SMALL LETTER Y WITH GRAVE
+    BD |  00001E84 | LATIN CAPITAL LETTER W WITH DIAERESIS
+    BE |  00001E85 | LATIN SMALL LETTER W WITH DIAERESIS
+    BF |  00001E61 | LATIN SMALL LETTER S WITH DOT ABOVE
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  00000174 | LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  00001E6A | LATIN CAPITAL LETTER T WITH DOT ABOVE
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  00000176 | LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+    DF |  000000DF | LATIN SMALL LETTER SHARP S
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  00000175 | LATIN SMALL LETTER W WITH CIRCUMFLEX
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  00001E6B | LATIN SMALL LETTER T WITH DOT ABOVE
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  00000177 | LATIN SMALL LETTER Y WITH CIRCUMFLEX
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_15.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_15.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_15.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_15.pm      12 Oct 
2011 23:51:43 -0000      1.1
@@ -0,0 +1,1144 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_15.pm,v 1.1 2011/10/12 23:51:43 pertusus Exp $
+
+# Conversion routines for ISO-8859-15.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_15;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x20ac,
+    0x00a5,
+    0x0160,
+    0x00a7,
+    0x0161,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x017d,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x017e,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x0152,
+    0x0153,
+    0x0178,
+    0x00bf,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00d0,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x00dd,
+    0x00de,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x00fe,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xe2\x82\xac",
+    "\xc2\xa5",
+    "\xc5\xa0",
+    "\xc2\xa7",
+    "\xc5\xa1",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc5\xbd",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc5\xbe",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xc5\xb8",
+    "\xc2\xbf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x90",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a5 => "\xa5",
+    0x000000a7 => "\xa7",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bf => "\xbf",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d0 => "\xd0",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000de => "\xde",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f0 => "\xf0",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000fe => "\xfe",
+    0x000000ff => "\xff",
+    0x00000152 => "\xbc",
+    0x00000153 => "\xbd",
+    0x00000160 => "\xa6",
+    0x00000161 => "\xa8",
+    0x00000178 => "\xbe",
+    0x0000017d => "\xb4",
+    0x0000017e => "\xb8",
+    0x000020ac => "\xa4",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_15 - Conversion routines for ISO-8859-15
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-15.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000020AC | EURO SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  00000152 | LATIN CAPITAL LIGATURE OE
+    BD |  00000153 | LATIN SMALL LIGATURE OE
+    BE |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  000000D0 | LATIN CAPITAL LETTER ETH
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  000000DE | LATIN CAPITAL LETTER THORN
+    DF |  000000DF | LATIN SMALL LETTER SHARP S
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_16.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_16.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_16.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_16.pm      12 Oct 
2011 23:51:44 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_16.pm,v 1.1 2011/10/12 23:51:44 pertusus Exp $
+
+# Conversion routines for ISO-8859-16.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_16;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0104,
+    0x0105,
+    0x0141,
+    0x20ac,
+    0x201e,
+    0x0160,
+    0x00a7,
+    0x0161,
+    0x00a9,
+    0x0218,
+    0x00ab,
+    0x0179,
+    0x00ad,
+    0x017a,
+    0x017b,
+    0x00b0,
+    0x00b1,
+    0x010c,
+    0x0142,
+    0x017d,
+    0x201d,
+    0x00b6,
+    0x00b7,
+    0x017e,
+    0x010d,
+    0x0219,
+    0x00bb,
+    0x0152,
+    0x0153,
+    0x0178,
+    0x017c,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x0102,
+    0x00c4,
+    0x0106,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x0110,
+    0x0143,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x0150,
+    0x00d6,
+    0x015a,
+    0x0170,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x0118,
+    0x021a,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x0103,
+    0x00e4,
+    0x0107,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x0111,
+    0x0144,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x0151,
+    0x00f6,
+    0x015b,
+    0x0171,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x0119,
+    0x021b,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc4\x84",
+    "\xc4\x85",
+    "\xc5\x81",
+    "\xe2\x82\xac",
+    "\xe2\x80\x9e",
+    "\xc5\xa0",
+    "\xc2\xa7",
+    "\xc5\xa1",
+    "\xc2\xa9",
+    "\xc8\x98",
+    "\xc2\xab",
+    "\xc5\xb9",
+    "\xc2\xad",
+    "\xc5\xba",
+    "\xc5\xbb",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc4\x8c",
+    "\xc5\x82",
+    "\xc5\xbd",
+    "\xe2\x80\x9d",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc5\xbe",
+    "\xc4\x8d",
+    "\xc8\x99",
+    "\xc2\xbb",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xc5\xb8",
+    "\xc5\xbc",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc4\x82",
+    "\xc3\x84",
+    "\xc4\x86",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc4\x90",
+    "\xc5\x83",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc5\x90",
+    "\xc3\x96",
+    "\xc5\x9a",
+    "\xc5\xb0",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc4\x98",
+    "\xc8\x9a",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc4\x83",
+    "\xc3\xa4",
+    "\xc4\x87",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc4\x91",
+    "\xc5\x84",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc5\x91",
+    "\xc3\xb6",
+    "\xc5\x9b",
+    "\xc5\xb1",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc4\x99",
+    "\xc8\x9b",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a7 => "\xa7",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ad => "\xad",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000bb => "\xbb",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c4 => "\xc4",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d6 => "\xd6",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e4 => "\xe4",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f6 => "\xf6",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000ff => "\xff",
+    0x00000102 => "\xc3",
+    0x00000103 => "\xe3",
+    0x00000104 => "\xa1",
+    0x00000105 => "\xa2",
+    0x00000106 => "\xc5",
+    0x00000107 => "\xe5",
+    0x0000010c => "\xb2",
+    0x0000010d => "\xb9",
+    0x00000110 => "\xd0",
+    0x00000111 => "\xf0",
+    0x00000118 => "\xdd",
+    0x00000119 => "\xfd",
+    0x00000141 => "\xa3",
+    0x00000142 => "\xb3",
+    0x00000143 => "\xd1",
+    0x00000144 => "\xf1",
+    0x00000150 => "\xd5",
+    0x00000151 => "\xf5",
+    0x00000152 => "\xbc",
+    0x00000153 => "\xbd",
+    0x0000015a => "\xd7",
+    0x0000015b => "\xf7",
+    0x00000160 => "\xa6",
+    0x00000161 => "\xa8",
+    0x00000170 => "\xd8",
+    0x00000171 => "\xf8",
+    0x00000178 => "\xbe",
+    0x00000179 => "\xac",
+    0x0000017a => "\xae",
+    0x0000017b => "\xaf",
+    0x0000017c => "\xbf",
+    0x0000017d => "\xb4",
+    0x0000017e => "\xb8",
+    0x00000218 => "\xaa",
+    0x00000219 => "\xba",
+    0x0000021a => "\xde",
+    0x0000021b => "\xfe",
+    0x0000201d => "\xb5",
+    0x0000201e => "\xa5",
+    0x000020ac => "\xa4",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_16 - Conversion routines for ISO-8859-16
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-16.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+ alias ISO-IR-226
+ alias LATIN10
+ alias L10
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    A2 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    A3 |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    A4 |  000020AC | EURO SIGN
+    A5 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    A6 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00000218 | LATIN CAPITAL LETTER S WITH COMMA BELOW
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    AD |  000000AD | SOFT HYPHEN
+    AE |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    AF |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    B3 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    B4 |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    B5 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    B9 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    BA |  00000219 | LATIN SMALL LETTER S WITH COMMA BELOW
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  00000152 | LATIN CAPITAL LIGATURE OE
+    BD |  00000153 | LATIN SMALL LIGATURE OE
+    BE |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    BF |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D1 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    D8 |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    DE |  0000021A | LATIN CAPITAL LETTER T WITH COMMA BELOW
+    DF |  000000DF | LATIN SMALL LETTER SHARP S
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    F1 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    F8 |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    FE |  0000021B | LATIN SMALL LETTER T WITH COMMA BELOW
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_2.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_2.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_2.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_2.pm       12 Oct 
2011 23:51:44 -0000      1.1
@@ -0,0 +1,1150 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_2.pm,v 1.1 2011/10/12 23:51:44 pertusus Exp $
+
+# Conversion routines for ISO-8859-2.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_2;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0104,
+    0x02d8,
+    0x0141,
+    0x00a4,
+    0x013d,
+    0x015a,
+    0x00a7,
+    0x00a8,
+    0x0160,
+    0x015e,
+    0x0164,
+    0x0179,
+    0x00ad,
+    0x017d,
+    0x017b,
+    0x00b0,
+    0x0105,
+    0x02db,
+    0x0142,
+    0x00b4,
+    0x013e,
+    0x015b,
+    0x02c7,
+    0x00b8,
+    0x0161,
+    0x015f,
+    0x0165,
+    0x017a,
+    0x02dd,
+    0x017e,
+    0x017c,
+    0x0154,
+    0x00c1,
+    0x00c2,
+    0x0102,
+    0x00c4,
+    0x0139,
+    0x0106,
+    0x00c7,
+    0x010c,
+    0x00c9,
+    0x0118,
+    0x00cb,
+    0x011a,
+    0x00cd,
+    0x00ce,
+    0x010e,
+    0x0110,
+    0x0143,
+    0x0147,
+    0x00d3,
+    0x00d4,
+    0x0150,
+    0x00d6,
+    0x00d7,
+    0x0158,
+    0x016e,
+    0x00da,
+    0x0170,
+    0x00dc,
+    0x00dd,
+    0x0162,
+    0x00df,
+    0x0155,
+    0x00e1,
+    0x00e2,
+    0x0103,
+    0x00e4,
+    0x013a,
+    0x0107,
+    0x00e7,
+    0x010d,
+    0x00e9,
+    0x0119,
+    0x00eb,
+    0x011b,
+    0x00ed,
+    0x00ee,
+    0x010f,
+    0x0111,
+    0x0144,
+    0x0148,
+    0x00f3,
+    0x00f4,
+    0x0151,
+    0x00f6,
+    0x00f7,
+    0x0159,
+    0x016f,
+    0x00fa,
+    0x0171,
+    0x00fc,
+    0x00fd,
+    0x0163,
+    0x02d9,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc4\x84",
+    "\xcb\x98",
+    "\xc5\x81",
+    "\xc2\xa4",
+    "\xc4\xbd",
+    "\xc5\x9a",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc5\xa0",
+    "\xc5\x9e",
+    "\xc5\xa4",
+    "\xc5\xb9",
+    "\xc2\xad",
+    "\xc5\xbd",
+    "\xc5\xbb",
+    "\xc2\xb0",
+    "\xc4\x85",
+    "\xcb\x9b",
+    "\xc5\x82",
+    "\xc2\xb4",
+    "\xc4\xbe",
+    "\xc5\x9b",
+    "\xcb\x87",
+    "\xc2\xb8",
+    "\xc5\xa1",
+    "\xc5\x9f",
+    "\xc5\xa5",
+    "\xc5\xba",
+    "\xcb\x9d",
+    "\xc5\xbe",
+    "\xc5\xbc",
+    "\xc5\x94",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc4\x82",
+    "\xc3\x84",
+    "\xc4\xb9",
+    "\xc4\x86",
+    "\xc3\x87",
+    "\xc4\x8c",
+    "\xc3\x89",
+    "\xc4\x98",
+    "\xc3\x8b",
+    "\xc4\x9a",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc4\x8e",
+    "\xc4\x90",
+    "\xc5\x83",
+    "\xc5\x87",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc5\x90",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc5\x98",
+    "\xc5\xae",
+    "\xc3\x9a",
+    "\xc5\xb0",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc5\xa2",
+    "\xc3\x9f",
+    "\xc5\x95",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc4\x83",
+    "\xc3\xa4",
+    "\xc4\xba",
+    "\xc4\x87",
+    "\xc3\xa7",
+    "\xc4\x8d",
+    "\xc3\xa9",
+    "\xc4\x99",
+    "\xc3\xab",
+    "\xc4\x9b",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc4\x8f",
+    "\xc4\x91",
+    "\xc5\x84",
+    "\xc5\x88",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc5\x91",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc5\x99",
+    "\xc5\xaf",
+    "\xc3\xba",
+    "\xc5\xb1",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc5\xa3",
+    "\xcb\x99",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a4 => "\xa4",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000ad => "\xad",
+    0x000000b0 => "\xb0",
+    0x000000b4 => "\xb4",
+    0x000000b8 => "\xb8",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c4 => "\xc4",
+    0x000000c7 => "\xc7",
+    0x000000c9 => "\xc9",
+    0x000000cb => "\xcb",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000da => "\xda",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000df => "\xdf",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e4 => "\xe4",
+    0x000000e7 => "\xe7",
+    0x000000e9 => "\xe9",
+    0x000000eb => "\xeb",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000fa => "\xfa",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x00000102 => "\xc3",
+    0x00000103 => "\xe3",
+    0x00000104 => "\xa1",
+    0x00000105 => "\xb1",
+    0x00000106 => "\xc6",
+    0x00000107 => "\xe6",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x0000010e => "\xcf",
+    0x0000010f => "\xef",
+    0x00000110 => "\xd0",
+    0x00000111 => "\xf0",
+    0x00000118 => "\xca",
+    0x00000119 => "\xea",
+    0x0000011a => "\xcc",
+    0x0000011b => "\xec",
+    0x00000139 => "\xc5",
+    0x0000013a => "\xe5",
+    0x0000013d => "\xa5",
+    0x0000013e => "\xb5",
+    0x00000141 => "\xa3",
+    0x00000142 => "\xb3",
+    0x00000143 => "\xd1",
+    0x00000144 => "\xf1",
+    0x00000147 => "\xd2",
+    0x00000148 => "\xf2",
+    0x00000150 => "\xd5",
+    0x00000151 => "\xf5",
+    0x00000154 => "\xc0",
+    0x00000155 => "\xe0",
+    0x00000158 => "\xd8",
+    0x00000159 => "\xf8",
+    0x0000015a => "\xa6",
+    0x0000015b => "\xb6",
+    0x0000015e => "\xaa",
+    0x0000015f => "\xba",
+    0x00000160 => "\xa9",
+    0x00000161 => "\xb9",
+    0x00000162 => "\xde",
+    0x00000163 => "\xfe",
+    0x00000164 => "\xab",
+    0x00000165 => "\xbb",
+    0x0000016e => "\xd9",
+    0x0000016f => "\xf9",
+    0x00000170 => "\xdb",
+    0x00000171 => "\xfb",
+    0x00000179 => "\xac",
+    0x0000017a => "\xbc",
+    0x0000017b => "\xaf",
+    0x0000017c => "\xbf",
+    0x0000017d => "\xae",
+    0x0000017e => "\xbe",
+    0x000002c7 => "\xb7",
+    0x000002d8 => "\xa2",
+    0x000002d9 => "\xff",
+    0x000002db => "\xb2",
+    0x000002dd => "\xbd",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_2 - Conversion routines for ISO-8859-2
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-2.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-101
+ alias ISO_8859-2:1987
+ alias ISO_8859-2
+ alias LATIN2
+ alias L2
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    A2 |  000002D8 | BREVE
+    A3 |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  0000013D | LATIN CAPITAL LETTER L WITH CARON
+    A6 |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    AA |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    AB |  00000164 | LATIN CAPITAL LETTER T WITH CARON
+    AC |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
+    AD |  000000AD | SOFT HYPHEN
+    AE |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    AF |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    B2 |  000002DB | OGONEK
+    B3 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  0000013E | LATIN SMALL LETTER L WITH CARON
+    B6 |  0000015B | LATIN SMALL LETTER S WITH ACUTE
+    B7 |  000002C7 | CARON (Mandarin Chinese third tone)
+    B8 |  000000B8 | CEDILLA
+    B9 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    BA |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    BB |  00000165 | LATIN SMALL LETTER T WITH CARON
+    BC |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
+    BD |  000002DD | DOUBLE ACUTE ACCENT
+    BE |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    BF |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    C0 |  00000154 | LATIN CAPITAL LETTER R WITH ACUTE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  00000139 | LATIN CAPITAL LETTER L WITH ACUTE
+    C6 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  0000011A | LATIN CAPITAL LETTER E WITH CARON
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  0000010E | LATIN CAPITAL LETTER D WITH CARON
+    D0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D1 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
+    D2 |  00000147 | LATIN CAPITAL LETTER N WITH CARON
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  00000158 | LATIN CAPITAL LETTER R WITH CARON
+    D9 |  0000016E | LATIN CAPITAL LETTER U WITH RING ABOVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  00000162 | LATIN CAPITAL LETTER T WITH CEDILLA
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  00000155 | LATIN SMALL LETTER R WITH ACUTE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  0000013A | LATIN SMALL LETTER L WITH ACUTE
+    E6 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  0000011B | LATIN SMALL LETTER E WITH CARON
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  0000010F | LATIN SMALL LETTER D WITH CARON
+    F0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    F1 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
+    F2 |  00000148 | LATIN SMALL LETTER N WITH CARON
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  00000159 | LATIN SMALL LETTER R WITH CARON
+    F9 |  0000016F | LATIN SMALL LETTER U WITH RING ABOVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  00000163 | LATIN SMALL LETTER T WITH CEDILLA
+    FF |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_3.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_3.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_3.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_3.pm       12 Oct 
2011 23:51:44 -0000      1.1
@@ -0,0 +1,1136 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_3.pm,v 1.1 2011/10/12 23:51:44 pertusus Exp $
+
+# Conversion routines for ISO-8859-3.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_3;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0126,
+    0x02d8,
+    0x00a3,
+    0x00a4,
+    0xfffd,
+    0x0124,
+    0x00a7,
+    0x00a8,
+    0x0130,
+    0x015e,
+    0x011e,
+    0x0134,
+    0x00ad,
+    0xfffd,
+    0x017b,
+    0x00b0,
+    0x0127,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x0125,
+    0x00b7,
+    0x00b8,
+    0x0131,
+    0x015f,
+    0x011f,
+    0x0135,
+    0x00bd,
+    0xfffd,
+    0x017c,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0xfffd,
+    0x00c4,
+    0x010a,
+    0x0108,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0xfffd,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x0120,
+    0x00d6,
+    0x00d7,
+    0x011c,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x016c,
+    0x015c,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0xfffd,
+    0x00e4,
+    0x010b,
+    0x0109,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0xfffd,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x0121,
+    0x00f6,
+    0x00f7,
+    0x011d,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x016d,
+    0x015d,
+    0x02d9,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc4\xa6",
+    "\xcb\x98",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xef\xbf\xbd",
+    "\xc4\xa4",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc4\xb0",
+    "\xc5\x9e",
+    "\xc4\x9e",
+    "\xc4\xb4",
+    "\xc2\xad",
+    "\xef\xbf\xbd",
+    "\xc5\xbb",
+    "\xc2\xb0",
+    "\xc4\xa7",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc4\xa5",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc4\xb1",
+    "\xc5\x9f",
+    "\xc4\x9f",
+    "\xc4\xb5",
+    "\xc2\xbd",
+    "\xef\xbf\xbd",
+    "\xc5\xbc",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xef\xbf\xbd",
+    "\xc3\x84",
+    "\xc4\x8a",
+    "\xc4\x88",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xef\xbf\xbd",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc4\xa0",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc4\x9c",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc5\xac",
+    "\xc5\x9c",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xef\xbf\xbd",
+    "\xc3\xa4",
+    "\xc4\x8b",
+    "\xc4\x89",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xef\xbf\xbd",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc4\xa1",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc4\x9d",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc5\xad",
+    "\xc5\x9d",
+    "\xcb\x99",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000ad => "\xad",
+    0x000000b0 => "\xb0",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000bd => "\xbd",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c4 => "\xc4",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e4 => "\xe4",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x00000108 => "\xc6",
+    0x00000109 => "\xe6",
+    0x0000010a => "\xc5",
+    0x0000010b => "\xe5",
+    0x0000011c => "\xd8",
+    0x0000011d => "\xf8",
+    0x0000011e => "\xab",
+    0x0000011f => "\xbb",
+    0x00000120 => "\xd5",
+    0x00000121 => "\xf5",
+    0x00000124 => "\xa6",
+    0x00000125 => "\xb6",
+    0x00000126 => "\xa1",
+    0x00000127 => "\xb1",
+    0x00000130 => "\xa9",
+    0x00000131 => "\xb9",
+    0x00000134 => "\xac",
+    0x00000135 => "\xbc",
+    0x0000015c => "\xde",
+    0x0000015d => "\xfe",
+    0x0000015e => "\xaa",
+    0x0000015f => "\xba",
+    0x0000016c => "\xdd",
+    0x0000016d => "\xfd",
+    0x0000017b => "\xaf",
+    0x0000017c => "\xbf",
+    0x000002d8 => "\xa2",
+    0x000002d9 => "\xff",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_3 - Conversion routines for ISO-8859-3
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-3.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-109
+ alias ISO_8859-3:1988
+ alias ISO_8859-3
+ alias LATIN3
+ alias L3
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000126 | LATIN CAPITAL LETTER H WITH STROKE
+    A2 |  000002D8 | BREVE
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A6 |  00000124 | LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
+    AA |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    AB |  0000011E | LATIN CAPITAL LETTER G WITH BREVE
+    AC |  00000134 | LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+    AD |  000000AD | SOFT HYPHEN
+    AF |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  00000127 | LATIN SMALL LETTER H WITH STROKE
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00000125 | LATIN SMALL LETTER H WITH CIRCUMFLEX
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    BA |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    BB |  0000011F | LATIN SMALL LETTER G WITH BREVE
+    BC |  00000135 | LATIN SMALL LETTER J WITH CIRCUMFLEX
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BF |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  0000010A | LATIN CAPITAL LETTER C WITH DOT ABOVE
+    C6 |  00000108 | LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  00000120 | LATIN CAPITAL LETTER G WITH DOT ABOVE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  0000011C | LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  0000016C | LATIN CAPITAL LETTER U WITH BREVE
+    DE |  0000015C | LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  0000010B | LATIN SMALL LETTER C WITH DOT ABOVE
+    E6 |  00000109 | LATIN SMALL LETTER C WITH CIRCUMFLEX
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  00000121 | LATIN SMALL LETTER G WITH DOT ABOVE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  0000011D | LATIN SMALL LETTER G WITH CIRCUMFLEX
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  0000016D | LATIN SMALL LETTER U WITH BREVE
+    FE |  0000015D | LATIN SMALL LETTER S WITH CIRCUMFLEX
+    FF |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_4.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_4.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_4.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_4.pm       12 Oct 
2011 23:51:44 -0000      1.1
@@ -0,0 +1,1150 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_4.pm,v 1.1 2011/10/12 23:51:44 pertusus Exp $
+
+# Conversion routines for ISO-8859-4.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_4;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0104,
+    0x0138,
+    0x0156,
+    0x00a4,
+    0x0128,
+    0x013b,
+    0x00a7,
+    0x00a8,
+    0x0160,
+    0x0112,
+    0x0122,
+    0x0166,
+    0x00ad,
+    0x017d,
+    0x00af,
+    0x00b0,
+    0x0105,
+    0x02db,
+    0x0157,
+    0x00b4,
+    0x0129,
+    0x013c,
+    0x02c7,
+    0x00b8,
+    0x0161,
+    0x0113,
+    0x0123,
+    0x0167,
+    0x014a,
+    0x017e,
+    0x014b,
+    0x0100,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x012e,
+    0x010c,
+    0x00c9,
+    0x0118,
+    0x00cb,
+    0x0116,
+    0x00cd,
+    0x00ce,
+    0x012a,
+    0x0110,
+    0x0145,
+    0x014c,
+    0x0136,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x00d8,
+    0x0172,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x0168,
+    0x016a,
+    0x00df,
+    0x0101,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x012f,
+    0x010d,
+    0x00e9,
+    0x0119,
+    0x00eb,
+    0x0117,
+    0x00ed,
+    0x00ee,
+    0x012b,
+    0x0111,
+    0x0146,
+    0x014d,
+    0x0137,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x0173,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x0169,
+    0x016b,
+    0x02d9,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc4\x84",
+    "\xc4\xb8",
+    "\xc5\x96",
+    "\xc2\xa4",
+    "\xc4\xa8",
+    "\xc4\xbb",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc5\xa0",
+    "\xc4\x92",
+    "\xc4\xa2",
+    "\xc5\xa6",
+    "\xc2\xad",
+    "\xc5\xbd",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc4\x85",
+    "\xcb\x9b",
+    "\xc5\x97",
+    "\xc2\xb4",
+    "\xc4\xa9",
+    "\xc4\xbc",
+    "\xcb\x87",
+    "\xc2\xb8",
+    "\xc5\xa1",
+    "\xc4\x93",
+    "\xc4\xa3",
+    "\xc5\xa7",
+    "\xc5\x8a",
+    "\xc5\xbe",
+    "\xc5\x8b",
+    "\xc4\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc4\xae",
+    "\xc4\x8c",
+    "\xc3\x89",
+    "\xc4\x98",
+    "\xc3\x8b",
+    "\xc4\x96",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc4\xaa",
+    "\xc4\x90",
+    "\xc5\x85",
+    "\xc5\x8c",
+    "\xc4\xb6",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc5\xb2",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc5\xa8",
+    "\xc5\xaa",
+    "\xc3\x9f",
+    "\xc4\x81",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc4\xaf",
+    "\xc4\x8d",
+    "\xc3\xa9",
+    "\xc4\x99",
+    "\xc3\xab",
+    "\xc4\x97",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc4\xab",
+    "\xc4\x91",
+    "\xc5\x86",
+    "\xc5\x8d",
+    "\xc4\xb7",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc5\xb3",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc5\xa9",
+    "\xc5\xab",
+    "\xcb\x99",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a4 => "\xa4",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000ad => "\xad",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b4 => "\xb4",
+    0x000000b8 => "\xb8",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c9 => "\xc9",
+    0x000000cb => "\xcb",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xd8",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e9 => "\xe9",
+    0x000000eb => "\xeb",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x00000100 => "\xc0",
+    0x00000101 => "\xe0",
+    0x00000104 => "\xa1",
+    0x00000105 => "\xb1",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x00000110 => "\xd0",
+    0x00000111 => "\xf0",
+    0x00000112 => "\xaa",
+    0x00000113 => "\xba",
+    0x00000116 => "\xcc",
+    0x00000117 => "\xec",
+    0x00000118 => "\xca",
+    0x00000119 => "\xea",
+    0x00000122 => "\xab",
+    0x00000123 => "\xbb",
+    0x00000128 => "\xa5",
+    0x00000129 => "\xb5",
+    0x0000012a => "\xcf",
+    0x0000012b => "\xef",
+    0x0000012e => "\xc7",
+    0x0000012f => "\xe7",
+    0x00000136 => "\xd3",
+    0x00000137 => "\xf3",
+    0x00000138 => "\xa2",
+    0x0000013b => "\xa6",
+    0x0000013c => "\xb6",
+    0x00000145 => "\xd1",
+    0x00000146 => "\xf1",
+    0x0000014a => "\xbd",
+    0x0000014b => "\xbf",
+    0x0000014c => "\xd2",
+    0x0000014d => "\xf2",
+    0x00000156 => "\xa3",
+    0x00000157 => "\xb3",
+    0x00000160 => "\xa9",
+    0x00000161 => "\xb9",
+    0x00000166 => "\xac",
+    0x00000167 => "\xbc",
+    0x00000168 => "\xdd",
+    0x00000169 => "\xfd",
+    0x0000016a => "\xde",
+    0x0000016b => "\xfe",
+    0x00000172 => "\xd9",
+    0x00000173 => "\xf9",
+    0x0000017d => "\xae",
+    0x0000017e => "\xbe",
+    0x000002c7 => "\xb7",
+    0x000002d9 => "\xff",
+    0x000002db => "\xb2",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_4 - Conversion routines for ISO-8859-4
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-4.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-110
+ alias ISO_8859-4:1988
+ alias ISO_8859-4
+ alias LATIN4
+ alias L4
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
+    A2 |  00000138 | LATIN SMALL LETTER KRA (Greenlandic)
+    A3 |  00000156 | LATIN CAPITAL LETTER R WITH CEDILLA
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  00000128 | LATIN CAPITAL LETTER I WITH TILDE
+    A6 |  0000013B | LATIN CAPITAL LETTER L WITH CEDILLA
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    AA |  00000112 | LATIN CAPITAL LETTER E WITH MACRON
+    AB |  00000122 | LATIN CAPITAL LETTER G WITH CEDILLA
+    AC |  00000166 | LATIN CAPITAL LETTER T WITH STROKE
+    AD |  000000AD | SOFT HYPHEN
+    AE |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
+    B2 |  000002DB | OGONEK
+    B3 |  00000157 | LATIN SMALL LETTER R WITH CEDILLA
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  00000129 | LATIN SMALL LETTER I WITH TILDE
+    B6 |  0000013C | LATIN SMALL LETTER L WITH CEDILLA
+    B7 |  000002C7 | CARON (Mandarin Chinese third tone)
+    B8 |  000000B8 | CEDILLA
+    B9 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    BA |  00000113 | LATIN SMALL LETTER E WITH MACRON
+    BB |  00000123 | LATIN SMALL LETTER G WITH CEDILLA
+    BC |  00000167 | LATIN SMALL LETTER T WITH STROKE
+    BD |  0000014A | LATIN CAPITAL LETTER ENG (Sami)
+    BE |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    BF |  0000014B | LATIN SMALL LETTER ENG (Sami)
+    C0 |  00000100 | LATIN CAPITAL LETTER A WITH MACRON
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  0000012E | LATIN CAPITAL LETTER I WITH OGONEK
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  00000116 | LATIN CAPITAL LETTER E WITH DOT ABOVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  0000012A | LATIN CAPITAL LETTER I WITH MACRON
+    D0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D1 |  00000145 | LATIN CAPITAL LETTER N WITH CEDILLA
+    D2 |  0000014C | LATIN CAPITAL LETTER O WITH MACRON
+    D3 |  00000136 | LATIN CAPITAL LETTER K WITH CEDILLA
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  00000172 | LATIN CAPITAL LETTER U WITH OGONEK
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  00000168 | LATIN CAPITAL LETTER U WITH TILDE
+    DE |  0000016A | LATIN CAPITAL LETTER U WITH MACRON
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  00000101 | LATIN SMALL LETTER A WITH MACRON
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  0000012F | LATIN SMALL LETTER I WITH OGONEK
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  00000119 | LATIN SMALL LETTER E WITH OGONEK
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  00000117 | LATIN SMALL LETTER E WITH DOT ABOVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  0000012B | LATIN SMALL LETTER I WITH MACRON
+    F0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    F1 |  00000146 | LATIN SMALL LETTER N WITH CEDILLA
+    F2 |  0000014D | LATIN SMALL LETTER O WITH MACRON
+    F3 |  00000137 | LATIN SMALL LETTER K WITH CEDILLA
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  00000173 | LATIN SMALL LETTER U WITH OGONEK
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  00000169 | LATIN SMALL LETTER U WITH TILDE
+    FE |  0000016B | LATIN SMALL LETTER U WITH MACRON
+    FF |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_5.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_5.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_5.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_5.pm       12 Oct 
2011 23:51:44 -0000      1.1
@@ -0,0 +1,1149 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_5.pm,v 1.1 2011/10/12 23:51:44 pertusus Exp $
+
+# Conversion routines for ISO-8859-5.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_5;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x0401,
+    0x0402,
+    0x0403,
+    0x0404,
+    0x0405,
+    0x0406,
+    0x0407,
+    0x0408,
+    0x0409,
+    0x040a,
+    0x040b,
+    0x040c,
+    0x00ad,
+    0x040e,
+    0x040f,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x044f,
+    0x2116,
+    0x0451,
+    0x0452,
+    0x0453,
+    0x0454,
+    0x0455,
+    0x0456,
+    0x0457,
+    0x0458,
+    0x0459,
+    0x045a,
+    0x045b,
+    0x045c,
+    0x00a7,
+    0x045e,
+    0x045f,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xd0\x81",
+    "\xd0\x82",
+    "\xd0\x83",
+    "\xd0\x84",
+    "\xd0\x85",
+    "\xd0\x86",
+    "\xd0\x87",
+    "\xd0\x88",
+    "\xd0\x89",
+    "\xd0\x8a",
+    "\xd0\x8b",
+    "\xd0\x8c",
+    "\xc2\xad",
+    "\xd0\x8e",
+    "\xd0\x8f",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xd1\x8f",
+    "\xe2\x84\x96",
+    "\xd1\x91",
+    "\xd1\x92",
+    "\xd1\x93",
+    "\xd1\x94",
+    "\xd1\x95",
+    "\xd1\x96",
+    "\xd1\x97",
+    "\xd1\x98",
+    "\xd1\x99",
+    "\xd1\x9a",
+    "\xd1\x9b",
+    "\xd1\x9c",
+    "\xc2\xa7",
+    "\xd1\x9e",
+    "\xd1\x9f",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a7 => "\xfd",
+    0x000000ad => "\xad",
+    0x00000401 => "\xa1",
+    0x00000402 => "\xa2",
+    0x00000403 => "\xa3",
+    0x00000404 => "\xa4",
+    0x00000405 => "\xa5",
+    0x00000406 => "\xa6",
+    0x00000407 => "\xa7",
+    0x00000408 => "\xa8",
+    0x00000409 => "\xa9",
+    0x0000040a => "\xaa",
+    0x0000040b => "\xab",
+    0x0000040c => "\xac",
+    0x0000040e => "\xae",
+    0x0000040f => "\xaf",
+    0x00000410 => "\xb0",
+    0x00000411 => "\xb1",
+    0x00000412 => "\xb2",
+    0x00000413 => "\xb3",
+    0x00000414 => "\xb4",
+    0x00000415 => "\xb5",
+    0x00000416 => "\xb6",
+    0x00000417 => "\xb7",
+    0x00000418 => "\xb8",
+    0x00000419 => "\xb9",
+    0x0000041a => "\xba",
+    0x0000041b => "\xbb",
+    0x0000041c => "\xbc",
+    0x0000041d => "\xbd",
+    0x0000041e => "\xbe",
+    0x0000041f => "\xbf",
+    0x00000420 => "\xc0",
+    0x00000421 => "\xc1",
+    0x00000422 => "\xc2",
+    0x00000423 => "\xc3",
+    0x00000424 => "\xc4",
+    0x00000425 => "\xc5",
+    0x00000426 => "\xc6",
+    0x00000427 => "\xc7",
+    0x00000428 => "\xc8",
+    0x00000429 => "\xc9",
+    0x0000042a => "\xca",
+    0x0000042b => "\xcb",
+    0x0000042c => "\xcc",
+    0x0000042d => "\xcd",
+    0x0000042e => "\xce",
+    0x0000042f => "\xcf",
+    0x00000430 => "\xd0",
+    0x00000431 => "\xd1",
+    0x00000432 => "\xd2",
+    0x00000433 => "\xd3",
+    0x00000434 => "\xd4",
+    0x00000435 => "\xd5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xd7",
+    0x00000438 => "\xd8",
+    0x00000439 => "\xd9",
+    0x0000043a => "\xda",
+    0x0000043b => "\xdb",
+    0x0000043c => "\xdc",
+    0x0000043d => "\xdd",
+    0x0000043e => "\xde",
+    0x0000043f => "\xdf",
+    0x00000440 => "\xe0",
+    0x00000441 => "\xe1",
+    0x00000442 => "\xe2",
+    0x00000443 => "\xe3",
+    0x00000444 => "\xe4",
+    0x00000445 => "\xe5",
+    0x00000446 => "\xe6",
+    0x00000447 => "\xe7",
+    0x00000448 => "\xe8",
+    0x00000449 => "\xe9",
+    0x0000044a => "\xea",
+    0x0000044b => "\xeb",
+    0x0000044c => "\xec",
+    0x0000044d => "\xed",
+    0x0000044e => "\xee",
+    0x0000044f => "\xef",
+    0x00000451 => "\xf1",
+    0x00000452 => "\xf2",
+    0x00000453 => "\xf3",
+    0x00000454 => "\xf4",
+    0x00000455 => "\xf5",
+    0x00000456 => "\xf6",
+    0x00000457 => "\xf7",
+    0x00000458 => "\xf8",
+    0x00000459 => "\xf9",
+    0x0000045a => "\xfa",
+    0x0000045b => "\xfb",
+    0x0000045c => "\xfc",
+    0x0000045e => "\xfe",
+    0x0000045f => "\xff",
+    0x00002116 => "\xf0",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_5 - Conversion routines for ISO-8859-5
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-5.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-144
+ alias ISO_8859-5:1988
+ alias ISO_8859-5
+ alias CYRILLIC
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    A2 |  00000402 | CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
+    A3 |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    A4 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    A5 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    A6 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    A7 |  00000407 | CYRILLIC CAPITAL LETTER YI (Ukrainian)
+    A8 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    A9 |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    AA |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    AB |  0000040B | CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
+    AC |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    AD |  000000AD | SOFT HYPHEN
+    AE |  0000040E | CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
+    AF |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    B0 |  00000410 | CYRILLIC CAPITAL LETTER A
+    B1 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    B2 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    B3 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    B4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    B5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    B6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    B7 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    B8 |  00000418 | CYRILLIC CAPITAL LETTER I
+    B9 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    BA |  0000041A | CYRILLIC CAPITAL LETTER KA
+    BB |  0000041B | CYRILLIC CAPITAL LETTER EL
+    BC |  0000041C | CYRILLIC CAPITAL LETTER EM
+    BD |  0000041D | CYRILLIC CAPITAL LETTER EN
+    BE |  0000041E | CYRILLIC CAPITAL LETTER O
+    BF |  0000041F | CYRILLIC CAPITAL LETTER PE
+    C0 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    C1 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    C2 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    C3 |  00000423 | CYRILLIC CAPITAL LETTER U
+    C4 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    C5 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    C6 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    C7 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    C8 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    C9 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    CA |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    CB |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    CC |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    CD |  0000042D | CYRILLIC CAPITAL LETTER E
+    CE |  0000042E | CYRILLIC CAPITAL LETTER YU
+    CF |  0000042F | CYRILLIC CAPITAL LETTER YA
+    D0 |  00000430 | CYRILLIC SMALL LETTER A
+    D1 |  00000431 | CYRILLIC SMALL LETTER BE
+    D2 |  00000432 | CYRILLIC SMALL LETTER VE
+    D3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    D4 |  00000434 | CYRILLIC SMALL LETTER DE
+    D5 |  00000435 | CYRILLIC SMALL LETTER IE
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    D8 |  00000438 | CYRILLIC SMALL LETTER I
+    D9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    DA |  0000043A | CYRILLIC SMALL LETTER KA
+    DB |  0000043B | CYRILLIC SMALL LETTER EL
+    DC |  0000043C | CYRILLIC SMALL LETTER EM
+    DD |  0000043D | CYRILLIC SMALL LETTER EN
+    DE |  0000043E | CYRILLIC SMALL LETTER O
+    DF |  0000043F | CYRILLIC SMALL LETTER PE
+    E0 |  00000440 | CYRILLIC SMALL LETTER ER
+    E1 |  00000441 | CYRILLIC SMALL LETTER ES
+    E2 |  00000442 | CYRILLIC SMALL LETTER TE
+    E3 |  00000443 | CYRILLIC SMALL LETTER U
+    E4 |  00000444 | CYRILLIC SMALL LETTER EF
+    E5 |  00000445 | CYRILLIC SMALL LETTER HA
+    E6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    E7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    E8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    E9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    EA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    EB |  0000044B | CYRILLIC SMALL LETTER YERU
+    EC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    ED |  0000044D | CYRILLIC SMALL LETTER E
+    EE |  0000044E | CYRILLIC SMALL LETTER YU
+    EF |  0000044F | CYRILLIC SMALL LETTER YA
+    F0 |  00002116 | NUMERO SIGN
+    F1 |  00000451 | CYRILLIC SMALL LETTER IO
+    F2 |  00000452 | CYRILLIC SMALL LETTER DJE (Serbocroatian)
+    F3 |  00000453 | CYRILLIC SMALL LETTER GJE
+    F4 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    F5 |  00000455 | CYRILLIC SMALL LETTER DZE
+    F6 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    F7 |  00000457 | CYRILLIC SMALL LETTER YI (Ukrainian)
+    F8 |  00000458 | CYRILLIC SMALL LETTER JE
+    F9 |  00000459 | CYRILLIC SMALL LETTER LJE
+    FA |  0000045A | CYRILLIC SMALL LETTER NJE
+    FB |  0000045B | CYRILLIC SMALL LETTER TSHE (Serbocroatian)
+    FC |  0000045C | CYRILLIC SMALL LETTER KJE
+    FD |  000000A7 | SECTION SIGN
+    FE |  0000045E | CYRILLIC SMALL LETTER SHORT U (Byelorussian)
+    FF |  0000045F | CYRILLIC SMALL LETTER DZHE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_6.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_6.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_6.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_6.pm       12 Oct 
2011 23:51:44 -0000      1.1
@@ -0,0 +1,1061 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_6.pm,v 1.1 2011/10/12 23:51:44 pertusus Exp $
+
+# Conversion routines for ISO-8859-6.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_6;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a4,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x060c,
+    0x00ad,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x061b,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x061f,
+    0xfffd,
+    0x0621,
+    0x0622,
+    0x0623,
+    0x0624,
+    0x0625,
+    0x0626,
+    0x0627,
+    0x0628,
+    0x0629,
+    0x062a,
+    0x062b,
+    0x062c,
+    0x062d,
+    0x062e,
+    0x062f,
+    0x0630,
+    0x0631,
+    0x0632,
+    0x0633,
+    0x0634,
+    0x0635,
+    0x0636,
+    0x0637,
+    0x0638,
+    0x0639,
+    0x063a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0640,
+    0x0641,
+    0x0642,
+    0x0643,
+    0x0644,
+    0x0645,
+    0x0646,
+    0x0647,
+    0x0648,
+    0x0649,
+    0x064a,
+    0x064b,
+    0x064c,
+    0x064d,
+    0x064e,
+    0x064f,
+    0x0650,
+    0x0651,
+    0x0652,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa4",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\x8c",
+    "\xc2\xad",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\x9b",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\x9f",
+    "\xef\xbf\xbd",
+    "\xd8\xa1",
+    "\xd8\xa2",
+    "\xd8\xa3",
+    "\xd8\xa4",
+    "\xd8\xa5",
+    "\xd8\xa6",
+    "\xd8\xa7",
+    "\xd8\xa8",
+    "\xd8\xa9",
+    "\xd8\xaa",
+    "\xd8\xab",
+    "\xd8\xac",
+    "\xd8\xad",
+    "\xd8\xae",
+    "\xd8\xaf",
+    "\xd8\xb0",
+    "\xd8\xb1",
+    "\xd8\xb2",
+    "\xd8\xb3",
+    "\xd8\xb4",
+    "\xd8\xb5",
+    "\xd8\xb6",
+    "\xd8\xb7",
+    "\xd8\xb8",
+    "\xd8\xb9",
+    "\xd8\xba",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd9\x80",
+    "\xd9\x81",
+    "\xd9\x82",
+    "\xd9\x83",
+    "\xd9\x84",
+    "\xd9\x85",
+    "\xd9\x86",
+    "\xd9\x87",
+    "\xd9\x88",
+    "\xd9\x89",
+    "\xd9\x8a",
+    "\xd9\x8b",
+    "\xd9\x8c",
+    "\xd9\x8d",
+    "\xd9\x8e",
+    "\xd9\x8f",
+    "\xd9\x90",
+    "\xd9\x91",
+    "\xd9\x92",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a4 => "\xa4",
+    0x000000ad => "\xad",
+    0x0000060c => "\xac",
+    0x0000061b => "\xbb",
+    0x0000061f => "\xbf",
+    0x00000621 => "\xc1",
+    0x00000622 => "\xc2",
+    0x00000623 => "\xc3",
+    0x00000624 => "\xc4",
+    0x00000625 => "\xc5",
+    0x00000626 => "\xc6",
+    0x00000627 => "\xc7",
+    0x00000628 => "\xc8",
+    0x00000629 => "\xc9",
+    0x0000062a => "\xca",
+    0x0000062b => "\xcb",
+    0x0000062c => "\xcc",
+    0x0000062d => "\xcd",
+    0x0000062e => "\xce",
+    0x0000062f => "\xcf",
+    0x00000630 => "\xd0",
+    0x00000631 => "\xd1",
+    0x00000632 => "\xd2",
+    0x00000633 => "\xd3",
+    0x00000634 => "\xd4",
+    0x00000635 => "\xd5",
+    0x00000636 => "\xd6",
+    0x00000637 => "\xd7",
+    0x00000638 => "\xd8",
+    0x00000639 => "\xd9",
+    0x0000063a => "\xda",
+    0x00000640 => "\xe0",
+    0x00000641 => "\xe1",
+    0x00000642 => "\xe2",
+    0x00000643 => "\xe3",
+    0x00000644 => "\xe4",
+    0x00000645 => "\xe5",
+    0x00000646 => "\xe6",
+    0x00000647 => "\xe7",
+    0x00000648 => "\xe8",
+    0x00000649 => "\xe9",
+    0x0000064a => "\xea",
+    0x0000064b => "\xeb",
+    0x0000064c => "\xec",
+    0x0000064d => "\xed",
+    0x0000064e => "\xee",
+    0x0000064f => "\xef",
+    0x00000650 => "\xf0",
+    0x00000651 => "\xf1",
+    0x00000652 => "\xf2",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_6 - Conversion routines for ISO-8859-6
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-6.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-127
+ alias ISO_8859-6:1987
+ alias ISO_8859-6
+ alias ECMA-114
+ alias ASMO-708
+ alias ARABIC
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A4 |  000000A4 | CURRENCY SIGN
+    AC |  0000060C | ARABIC COMMA
+    AD |  000000AD | SOFT HYPHEN
+    BB |  0000061B | ARABIC SEMICOLON
+    BF |  0000061F | ARABIC QUESTION MARK
+    C1 |  00000621 | ARABIC LETTER HAMZA
+    C2 |  00000622 | ARABIC LETTER ALEF WITH MADDA ABOVE
+    C3 |  00000623 | ARABIC LETTER ALEF WITH HAMZA ABOVE
+    C4 |  00000624 | ARABIC LETTER WAW WITH HAMZA ABOVE
+    C5 |  00000625 | ARABIC LETTER ALEF WITH HAMZA BELOW
+    C6 |  00000626 | ARABIC LETTER YEH WITH HAMZA ABOVE
+    C7 |  00000627 | ARABIC LETTER ALEF
+    C8 |  00000628 | ARABIC LETTER BEH
+    C9 |  00000629 | ARABIC LETTER TEH MARBUTA
+    CA |  0000062A | ARABIC LETTER TEH
+    CB |  0000062B | ARABIC LETTER THEH
+    CC |  0000062C | ARABIC LETTER JEEM
+    CD |  0000062D | ARABIC LETTER HAH
+    CE |  0000062E | ARABIC LETTER KHAH
+    CF |  0000062F | ARABIC LETTER DAL
+    D0 |  00000630 | ARABIC LETTER THAL
+    D1 |  00000631 | ARABIC LETTER REH
+    D2 |  00000632 | ARABIC LETTER ZAIN
+    D3 |  00000633 | ARABIC LETTER SEEN
+    D4 |  00000634 | ARABIC LETTER SHEEN
+    D5 |  00000635 | ARABIC LETTER SAD
+    D6 |  00000636 | ARABIC LETTER DAD
+    D7 |  00000637 | ARABIC LETTER TAH
+    D8 |  00000638 | ARABIC LETTER ZAH
+    D9 |  00000639 | ARABIC LETTER AIN
+    DA |  0000063A | ARABIC LETTER GHAIN
+    E0 |  00000640 | ARABIC TATWEEL
+    E1 |  00000641 | ARABIC LETTER FEH
+    E2 |  00000642 | ARABIC LETTER QAF
+    E3 |  00000643 | ARABIC LETTER KAF
+    E4 |  00000644 | ARABIC LETTER LAM
+    E5 |  00000645 | ARABIC LETTER MEEM
+    E6 |  00000646 | ARABIC LETTER NOON
+    E7 |  00000647 | ARABIC LETTER HEH
+    E8 |  00000648 | ARABIC LETTER WAW
+    E9 |  00000649 | ARABIC LETTER ALEF MAKSURA
+    EA |  0000064A | ARABIC LETTER YEH
+    EB |  0000064B | ARABIC FATHATAN
+    EC |  0000064C | ARABIC DAMMATAN
+    ED |  0000064D | ARABIC KASRATAN
+    EE |  0000064E | ARABIC FATHA
+    EF |  0000064F | ARABIC DAMMA
+    F0 |  00000650 | ARABIC KASRA
+    F1 |  00000651 | ARABIC SHADDA
+    F2 |  00000652 | ARABIC SUKUN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_7.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_7.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_7.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_7.pm       12 Oct 
2011 23:51:45 -0000      1.1
@@ -0,0 +1,1140 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_7.pm,v 1.1 2011/10/12 23:51:45 pertusus Exp $
+
+# Conversion routines for ISO-8859-7.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_7;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x2018,
+    0x2019,
+    0x00a3,
+    0xfffd,
+    0xfffd,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0xfffd,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0xfffd,
+    0x2015,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x0384,
+    0x0385,
+    0x0386,
+    0x00b7,
+    0x0388,
+    0x0389,
+    0x038a,
+    0x00bb,
+    0x038c,
+    0x00bd,
+    0x038e,
+    0x038f,
+    0x0390,
+    0x0391,
+    0x0392,
+    0x0393,
+    0x0394,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x0398,
+    0x0399,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039e,
+    0x039f,
+    0x03a0,
+    0x03a1,
+    0xfffd,
+    0x03a3,
+    0x03a4,
+    0x03a5,
+    0x03a6,
+    0x03a7,
+    0x03a8,
+    0x03a9,
+    0x03aa,
+    0x03ab,
+    0x03ac,
+    0x03ad,
+    0x03ae,
+    0x03af,
+    0x03b0,
+    0x03b1,
+    0x03b2,
+    0x03b3,
+    0x03b4,
+    0x03b5,
+    0x03b6,
+    0x03b7,
+    0x03b8,
+    0x03b9,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03be,
+    0x03bf,
+    0x03c0,
+    0x03c1,
+    0x03c2,
+    0x03c3,
+    0x03c4,
+    0x03c5,
+    0x03c6,
+    0x03c7,
+    0x03c8,
+    0x03c9,
+    0x03ca,
+    0x03cb,
+    0x03cc,
+    0x03cd,
+    0x03ce,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc2\xa3",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xef\xbf\xbd",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x95",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xce\x84",
+    "\xce\x85",
+    "\xce\x86",
+    "\xc2\xb7",
+    "\xce\x88",
+    "\xce\x89",
+    "\xce\x8a",
+    "\xc2\xbb",
+    "\xce\x8c",
+    "\xc2\xbd",
+    "\xce\x8e",
+    "\xce\x8f",
+    "\xce\x90",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x98",
+    "\xce\x99",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9e",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xce\xa1",
+    "\xef\xbf\xbd",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\xa5",
+    "\xce\xa6",
+    "\xce\xa7",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xce\xaa",
+    "\xce\xab",
+    "\xce\xac",
+    "\xce\xad",
+    "\xce\xae",
+    "\xce\xaf",
+    "\xce\xb0",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xce\xb3",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xce\xb6",
+    "\xce\xb7",
+    "\xce\xb8",
+    "\xce\xb9",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbe",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x81",
+    "\xcf\x82",
+    "\xcf\x83",
+    "\xcf\x84",
+    "\xcf\x85",
+    "\xcf\x86",
+    "\xcf\x87",
+    "\xcf\x88",
+    "\xcf\x89",
+    "\xcf\x8a",
+    "\xcf\x8b",
+    "\xcf\x8c",
+    "\xcf\x8d",
+    "\xcf\x8e",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a3 => "\xa3",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b7 => "\xb7",
+    0x000000bb => "\xbb",
+    0x000000bd => "\xbd",
+    0x00000384 => "\xb4",
+    0x00000385 => "\xb5",
+    0x00000386 => "\xb6",
+    0x00000388 => "\xb8",
+    0x00000389 => "\xb9",
+    0x0000038a => "\xba",
+    0x0000038c => "\xbc",
+    0x0000038e => "\xbe",
+    0x0000038f => "\xbf",
+    0x00000390 => "\xc0",
+    0x00000391 => "\xc1",
+    0x00000392 => "\xc2",
+    0x00000393 => "\xc3",
+    0x00000394 => "\xc4",
+    0x00000395 => "\xc5",
+    0x00000396 => "\xc6",
+    0x00000397 => "\xc7",
+    0x00000398 => "\xc8",
+    0x00000399 => "\xc9",
+    0x0000039a => "\xca",
+    0x0000039b => "\xcb",
+    0x0000039c => "\xcc",
+    0x0000039d => "\xcd",
+    0x0000039e => "\xce",
+    0x0000039f => "\xcf",
+    0x000003a0 => "\xd0",
+    0x000003a1 => "\xd1",
+    0x000003a3 => "\xd3",
+    0x000003a4 => "\xd4",
+    0x000003a5 => "\xd5",
+    0x000003a6 => "\xd6",
+    0x000003a7 => "\xd7",
+    0x000003a8 => "\xd8",
+    0x000003a9 => "\xd9",
+    0x000003aa => "\xda",
+    0x000003ab => "\xdb",
+    0x000003ac => "\xdc",
+    0x000003ad => "\xdd",
+    0x000003ae => "\xde",
+    0x000003af => "\xdf",
+    0x000003b0 => "\xe0",
+    0x000003b1 => "\xe1",
+    0x000003b2 => "\xe2",
+    0x000003b3 => "\xe3",
+    0x000003b4 => "\xe4",
+    0x000003b5 => "\xe5",
+    0x000003b6 => "\xe6",
+    0x000003b7 => "\xe7",
+    0x000003b8 => "\xe8",
+    0x000003b9 => "\xe9",
+    0x000003ba => "\xea",
+    0x000003bb => "\xeb",
+    0x000003bc => "\xec",
+    0x000003bd => "\xed",
+    0x000003be => "\xee",
+    0x000003bf => "\xef",
+    0x000003c0 => "\xf0",
+    0x000003c1 => "\xf1",
+    0x000003c2 => "\xf2",
+    0x000003c3 => "\xf3",
+    0x000003c4 => "\xf4",
+    0x000003c5 => "\xf5",
+    0x000003c6 => "\xf6",
+    0x000003c7 => "\xf7",
+    0x000003c8 => "\xf8",
+    0x000003c9 => "\xf9",
+    0x000003ca => "\xfa",
+    0x000003cb => "\xfb",
+    0x000003cc => "\xfc",
+    0x000003cd => "\xfd",
+    0x000003ce => "\xfe",
+    0x00002015 => "\xaf",
+    0x00002018 => "\xa1",
+    0x00002019 => "\xa2",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_7 - Conversion routines for ISO-8859-7
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-7.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-126
+ alias ISO_8859-7:1987
+ alias ISO_8859-7
+ alias ELOT_928
+ alias ECMA-118
+ alias GREEK
+ alias GREEK8
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00002018 | LEFT SINGLE QUOTATION MARK
+    A2 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    A3 |  000000A3 | POUND SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AF |  00002015 | HORIZONTAL BAR
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  00000384 | GREEK TONOS
+    B5 |  00000385 | GREEK DIALYTIKA TONOS
+    B6 |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
+    B9 |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
+    BA |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
+    BF |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
+    C0 |  00000390 | GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+    C1 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    C2 |  00000392 | GREEK CAPITAL LETTER BETA
+    C3 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    C4 |  00000394 | GREEK CAPITAL LETTER DELTA
+    C5 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    C6 |  00000396 | GREEK CAPITAL LETTER ZETA
+    C7 |  00000397 | GREEK CAPITAL LETTER ETA
+    C8 |  00000398 | GREEK CAPITAL LETTER THETA
+    C9 |  00000399 | GREEK CAPITAL LETTER IOTA
+    CA |  0000039A | GREEK CAPITAL LETTER KAPPA
+    CB |  0000039B | GREEK CAPITAL LETTER LAMDA
+    CC |  0000039C | GREEK CAPITAL LETTER MU
+    CD |  0000039D | GREEK CAPITAL LETTER NU
+    CE |  0000039E | GREEK CAPITAL LETTER XI
+    CF |  0000039F | GREEK CAPITAL LETTER OMICRON
+    D0 |  000003A0 | GREEK CAPITAL LETTER PI
+    D1 |  000003A1 | GREEK CAPITAL LETTER RHO
+    D3 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    D4 |  000003A4 | GREEK CAPITAL LETTER TAU
+    D5 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    D6 |  000003A6 | GREEK CAPITAL LETTER PHI
+    D7 |  000003A7 | GREEK CAPITAL LETTER CHI
+    D8 |  000003A8 | GREEK CAPITAL LETTER PSI
+    D9 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    DA |  000003AA | GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+    DB |  000003AB | GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+    DC |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
+    DD |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
+    DE |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
+    DF |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
+    E0 |  000003B0 | GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+    E1 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E2 |  000003B2 | GREEK SMALL LETTER BETA
+    E3 |  000003B3 | GREEK SMALL LETTER GAMMA
+    E4 |  000003B4 | GREEK SMALL LETTER DELTA
+    E5 |  000003B5 | GREEK SMALL LETTER EPSILON
+    E6 |  000003B6 | GREEK SMALL LETTER ZETA
+    E7 |  000003B7 | GREEK SMALL LETTER ETA
+    E8 |  000003B8 | GREEK SMALL LETTER THETA
+    E9 |  000003B9 | GREEK SMALL LETTER IOTA
+    EA |  000003BA | GREEK SMALL LETTER KAPPA
+    EB |  000003BB | GREEK SMALL LETTER LAMDA
+    EC |  000003BC | GREEK SMALL LETTER MU
+    ED |  000003BD | GREEK SMALL LETTER NU
+    EE |  000003BE | GREEK SMALL LETTER XI
+    EF |  000003BF | GREEK SMALL LETTER OMICRON
+    F0 |  000003C0 | GREEK SMALL LETTER PI
+    F1 |  000003C1 | GREEK SMALL LETTER RHO
+    F2 |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    F3 |  000003C3 | GREEK SMALL LETTER SIGMA
+    F4 |  000003C4 | GREEK SMALL LETTER TAU
+    F5 |  000003C5 | GREEK SMALL LETTER UPSILON
+    F6 |  000003C6 | GREEK SMALL LETTER PHI
+    F7 |  000003C7 | GREEK SMALL LETTER CHI
+    F8 |  000003C8 | GREEK SMALL LETTER PSI
+    F9 |  000003C9 | GREEK SMALL LETTER OMEGA
+    FA |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
+    FB |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+    FC |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
+    FD |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
+    FE |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_8.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_8.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_8.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_8.pm       12 Oct 
2011 23:51:45 -0000      1.1
@@ -0,0 +1,1077 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_8.pm,v 1.1 2011/10/12 23:51:45 pertusus Exp $
+
+# Conversion routines for ISO-8859-8.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_8;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0xfffd,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x00d7,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x00f7,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2017,
+    0x05d0,
+    0x05d1,
+    0x05d2,
+    0x05d3,
+    0x05d4,
+    0x05d5,
+    0x05d6,
+    0x05d7,
+    0x05d8,
+    0x05d9,
+    0x05da,
+    0x05db,
+    0x05dc,
+    0x05dd,
+    0x05de,
+    0x05df,
+    0x05e0,
+    0x05e1,
+    0x05e2,
+    0x05e3,
+    0x05e4,
+    0x05e5,
+    0x05e6,
+    0x05e7,
+    0x05e8,
+    0x05e9,
+    0x05ea,
+    0xfffd,
+    0xfffd,
+    0x200e,
+    0x200f,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xef\xbf\xbd",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc3\x97",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc3\xb7",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x97",
+    "\xd7\x90",
+    "\xd7\x91",
+    "\xd7\x92",
+    "\xd7\x93",
+    "\xd7\x94",
+    "\xd7\x95",
+    "\xd7\x96",
+    "\xd7\x97",
+    "\xd7\x98",
+    "\xd7\x99",
+    "\xd7\x9a",
+    "\xd7\x9b",
+    "\xd7\x9c",
+    "\xd7\x9d",
+    "\xd7\x9e",
+    "\xd7\x9f",
+    "\xd7\xa0",
+    "\xd7\xa1",
+    "\xd7\xa2",
+    "\xd7\xa3",
+    "\xd7\xa4",
+    "\xd7\xa5",
+    "\xd7\xa6",
+    "\xd7\xa7",
+    "\xd7\xa8",
+    "\xd7\xa9",
+    "\xd7\xaa",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x8e",
+    "\xe2\x80\x8f",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000d7 => "\xaa",
+    0x000000f7 => "\xba",
+    0x000005d0 => "\xe0",
+    0x000005d1 => "\xe1",
+    0x000005d2 => "\xe2",
+    0x000005d3 => "\xe3",
+    0x000005d4 => "\xe4",
+    0x000005d5 => "\xe5",
+    0x000005d6 => "\xe6",
+    0x000005d7 => "\xe7",
+    0x000005d8 => "\xe8",
+    0x000005d9 => "\xe9",
+    0x000005da => "\xea",
+    0x000005db => "\xeb",
+    0x000005dc => "\xec",
+    0x000005dd => "\xed",
+    0x000005de => "\xee",
+    0x000005df => "\xef",
+    0x000005e0 => "\xf0",
+    0x000005e1 => "\xf1",
+    0x000005e2 => "\xf2",
+    0x000005e3 => "\xf3",
+    0x000005e4 => "\xf4",
+    0x000005e5 => "\xf5",
+    0x000005e6 => "\xf6",
+    0x000005e7 => "\xf7",
+    0x000005e8 => "\xf8",
+    0x000005e9 => "\xf9",
+    0x000005ea => "\xfa",
+    0x0000200e => "\xfd",
+    0x0000200f => "\xfe",
+    0x00002017 => "\xdf",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_8 - Conversion routines for ISO-8859-8
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-8.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-138
+ alias ISO_8859-8:1988
+ alias ISO_8859-8
+ alias HEBREW
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000D7 | MULTIPLICATION SIGN
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000F7 | DIVISION SIGN
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    DF |  00002017 | DOUBLE LOW LINE
+    E0 |  000005D0 | HEBREW LETTER ALEF
+    E1 |  000005D1 | HEBREW LETTER BET
+    E2 |  000005D2 | HEBREW LETTER GIMEL
+    E3 |  000005D3 | HEBREW LETTER DALET
+    E4 |  000005D4 | HEBREW LETTER HE
+    E5 |  000005D5 | HEBREW LETTER VAV
+    E6 |  000005D6 | HEBREW LETTER ZAYIN
+    E7 |  000005D7 | HEBREW LETTER HET
+    E8 |  000005D8 | HEBREW LETTER TET
+    E9 |  000005D9 | HEBREW LETTER YOD
+    EA |  000005DA | HEBREW LETTER FINAL KAF
+    EB |  000005DB | HEBREW LETTER KAF
+    EC |  000005DC | HEBREW LETTER LAMED
+    ED |  000005DD | HEBREW LETTER FINAL MEM
+    EE |  000005DE | HEBREW LETTER MEM
+    EF |  000005DF | HEBREW LETTER FINAL NUN
+    F0 |  000005E0 | HEBREW LETTER NUN
+    F1 |  000005E1 | HEBREW LETTER SAMEKH
+    F2 |  000005E2 | HEBREW LETTER AYIN
+    F3 |  000005E3 | HEBREW LETTER FINAL PE
+    F4 |  000005E4 | HEBREW LETTER PE
+    F5 |  000005E5 | HEBREW LETTER FINAL TSADI
+    F6 |  000005E6 | HEBREW LETTER TSADI
+    F7 |  000005E7 | HEBREW LETTER QOF
+    F8 |  000005E8 | HEBREW LETTER RESH
+    F9 |  000005E9 | HEBREW LETTER SHIN
+    FA |  000005EA | HEBREW LETTER TAV
+    FD |  0000200E | LEFT-TO-RIGHT MARK
+    FE |  0000200F | RIGHT-TO-LEFT MARK
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_9.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_9.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_9.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/ISO_8859_9.pm       12 Oct 
2011 23:51:45 -0000      1.1
@@ -0,0 +1,1150 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: ISO_8859_9.pm,v 1.1 2011/10/12 23:51:45 pertusus Exp $
+
+# Conversion routines for ISO-8859-9.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::ISO_8859_9;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0080,
+    0x0081,
+    0x0082,
+    0x0083,
+    0x0084,
+    0x0085,
+    0x0086,
+    0x0087,
+    0x0088,
+    0x0089,
+    0x008a,
+    0x008b,
+    0x008c,
+    0x008d,
+    0x008e,
+    0x008f,
+    0x0090,
+    0x0091,
+    0x0092,
+    0x0093,
+    0x0094,
+    0x0095,
+    0x0096,
+    0x0097,
+    0x0098,
+    0x0099,
+    0x009a,
+    0x009b,
+    0x009c,
+    0x009d,
+    0x009e,
+    0x009f,
+    0x00a0,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x00a4,
+    0x00a5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x00aa,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x00af,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x00b3,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x00b8,
+    0x00b9,
+    0x00ba,
+    0x00bb,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00bf,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x011e,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x0130,
+    0x015e,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x011f,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x0131,
+    0x015f,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\x80",
+    "\xc2\x81",
+    "\xc2\x82",
+    "\xc2\x83",
+    "\xc2\x84",
+    "\xc2\x85",
+    "\xc2\x86",
+    "\xc2\x87",
+    "\xc2\x88",
+    "\xc2\x89",
+    "\xc2\x8a",
+    "\xc2\x8b",
+    "\xc2\x8c",
+    "\xc2\x8d",
+    "\xc2\x8e",
+    "\xc2\x8f",
+    "\xc2\x90",
+    "\xc2\x91",
+    "\xc2\x92",
+    "\xc2\x93",
+    "\xc2\x94",
+    "\xc2\x95",
+    "\xc2\x96",
+    "\xc2\x97",
+    "\xc2\x98",
+    "\xc2\x99",
+    "\xc2\x9a",
+    "\xc2\x9b",
+    "\xc2\x9c",
+    "\xc2\x9d",
+    "\xc2\x9e",
+    "\xc2\x9f",
+    "\xc2\xa0",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc2\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc2\xaa",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc2\xaf",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xc2\xb3",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc2\xb8",
+    "\xc2\xb9",
+    "\xc2\xba",
+    "\xc2\xbb",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc2\xbf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc4\x9e",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc4\xb0",
+    "\xc5\x9e",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc4\x9f",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc4\xb1",
+    "\xc5\x9f",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000080 => "\x80",
+    0x00000081 => "\x81",
+    0x00000082 => "\x82",
+    0x00000083 => "\x83",
+    0x00000084 => "\x84",
+    0x00000085 => "\x85",
+    0x00000086 => "\x86",
+    0x00000087 => "\x87",
+    0x00000088 => "\x88",
+    0x00000089 => "\x89",
+    0x0000008a => "\x8a",
+    0x0000008b => "\x8b",
+    0x0000008c => "\x8c",
+    0x0000008d => "\x8d",
+    0x0000008e => "\x8e",
+    0x0000008f => "\x8f",
+    0x00000090 => "\x90",
+    0x00000091 => "\x91",
+    0x00000092 => "\x92",
+    0x00000093 => "\x93",
+    0x00000094 => "\x94",
+    0x00000095 => "\x95",
+    0x00000096 => "\x96",
+    0x00000097 => "\x97",
+    0x00000098 => "\x98",
+    0x00000099 => "\x99",
+    0x0000009a => "\x9a",
+    0x0000009b => "\x9b",
+    0x0000009c => "\x9c",
+    0x0000009d => "\x9d",
+    0x0000009e => "\x9e",
+    0x0000009f => "\x9f",
+    0x000000a0 => "\xa0",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xaa",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000af => "\xaf",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b3 => "\xb3",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000b8 => "\xb8",
+    0x000000b9 => "\xb9",
+    0x000000ba => "\xba",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xbc",
+    0x000000bd => "\xbd",
+    0x000000be => "\xbe",
+    0x000000bf => "\xbf",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000ff => "\xff",
+    0x0000011e => "\xd0",
+    0x0000011f => "\xf0",
+    0x00000130 => "\xdd",
+    0x00000131 => "\xfd",
+    0x0000015e => "\xde",
+    0x0000015f => "\xfe",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::ISO_8859_9 - Conversion routines for ISO-8859-9
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for ISO-8859-9.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-148
+ alias ISO_8859-9:1989
+ alias ISO_8859-9
+ alias LATIN5
+ alias L5
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000080 | PADDING CHARACTER (PAD)
+    81 |  00000081 | HIGH OCTET PRESET (HOP)
+    82 |  00000082 | BREAK PERMITTED HERE (BPH)
+    83 |  00000083 | NO BREAK HERE (NBH)
+    84 |  00000084 | INDEX (IND)
+    85 |  00000085 | NEXT LINE (NEL)
+    86 |  00000086 | START OF SELECTED AREA (SSA)
+    87 |  00000087 | END OF SELECTED AREA (ESA)
+    88 |  00000088 | CHARACTER TABULATION SET (HTS)
+    89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+    8A |  0000008A | LINE TABULATION SET (VTS)
+    8B |  0000008B | PARTIAL LINE FORWARD (PLD)
+    8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
+    8D |  0000008D | REVERSE LINE FEED (RI)
+    8E |  0000008E | SINGLE-SHIFT TWO (SS2)
+    8F |  0000008F | SINGLE-SHIFT THREE (SS3)
+    90 |  00000090 | DEVICE CONTROL STRING (DCS)
+    91 |  00000091 | PRIVATE USE ONE (PU1)
+    92 |  00000092 | PRIVATE USE TWO (PU2)
+    93 |  00000093 | SET TRANSMIT STATE (STS)
+    94 |  00000094 | CANCEL CHARACTER (CCH)
+    95 |  00000095 | MESSAGE WAITING (MW)
+    96 |  00000096 | START OF GUARDED AREA (SPA)
+    97 |  00000097 | END OF GUARDED AREA (EPA)
+    98 |  00000098 | START OF STRING (SOS)
+    99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+    9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
+    9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
+    9C |  0000009C | STRING TERMINATOR (ST)
+    9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
+    9E |  0000009E | PRIVACY MESSAGE (PM)
+    9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000000A5 | YEN SIGN
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000000AA | FEMININE ORDINAL INDICATOR
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  000000AF | MACRON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  000000B3 | SUPERSCRIPT THREE
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  000000B8 | CEDILLA
+    B9 |  000000B9 | SUPERSCRIPT ONE
+    BA |  000000BA | MASCULINE ORDINAL INDICATOR
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  000000BC | VULGAR FRACTION ONE QUARTER
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  000000BE | VULGAR FRACTION THREE QUARTERS
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  0000011E | LATIN CAPITAL LETTER G WITH BREVE
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
+    DE |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  0000011F | LATIN SMALL LETTER G WITH BREVE
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  00000131 | LATIN SMALL LETTER DOTLESS I
+    FE |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_R.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_R.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_R.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_R.pm   12 Oct 2011 
23:51:45 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: KOI8_R.pm,v 1.1 2011/10/12 23:51:45 pertusus Exp $
+
+# Conversion routines for KOI8-R.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::KOI8_R;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x2500,
+    0x2502,
+    0x250c,
+    0x2510,
+    0x2514,
+    0x2518,
+    0x251c,
+    0x2524,
+    0x252c,
+    0x2534,
+    0x253c,
+    0x2580,
+    0x2584,
+    0x2588,
+    0x258c,
+    0x2590,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2320,
+    0x25a0,
+    0x2219,
+    0x221a,
+    0x2248,
+    0x2264,
+    0x2265,
+    0x00a0,
+    0x2321,
+    0x00b0,
+    0x00b2,
+    0x00b7,
+    0x00f7,
+    0x2550,
+    0x2551,
+    0x2552,
+    0x0451,
+    0x2553,
+    0x2554,
+    0x2555,
+    0x2556,
+    0x2557,
+    0x2558,
+    0x2559,
+    0x255a,
+    0x255b,
+    0x255c,
+    0x255d,
+    0x255e,
+    0x255f,
+    0x2560,
+    0x2561,
+    0x0401,
+    0x2562,
+    0x2563,
+    0x2564,
+    0x2565,
+    0x2566,
+    0x2567,
+    0x2568,
+    0x2569,
+    0x256a,
+    0x256b,
+    0x256c,
+    0x00a9,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x042a,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x94\x80",
+    "\xe2\x94\x82",
+    "\xe2\x94\x8c",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\x98",
+    "\xe2\x94\x9c",
+    "\xe2\x94\xa4",
+    "\xe2\x94\xac",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xbc",
+    "\xe2\x96\x80",
+    "\xe2\x96\x84",
+    "\xe2\x96\x88",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x8c\xa0",
+    "\xe2\x96\xa0",
+    "\xe2\x88\x99",
+    "\xe2\x88\x9a",
+    "\xe2\x89\x88",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa0",
+    "\xe2\x8c\xa1",
+    "\xc2\xb0",
+    "\xc2\xb2",
+    "\xc2\xb7",
+    "\xc3\xb7",
+    "\xe2\x95\x90",
+    "\xe2\x95\x91",
+    "\xe2\x95\x92",
+    "\xd1\x91",
+    "\xe2\x95\x93",
+    "\xe2\x95\x94",
+    "\xe2\x95\x95",
+    "\xe2\x95\x96",
+    "\xe2\x95\x97",
+    "\xe2\x95\x98",
+    "\xe2\x95\x99",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x9b",
+    "\xe2\x95\x9c",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\xa0",
+    "\xe2\x95\xa1",
+    "\xd0\x81",
+    "\xe2\x95\xa2",
+    "\xe2\x95\xa3",
+    "\xe2\x95\xa4",
+    "\xe2\x95\xa5",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xaa",
+    "\xe2\x95\xab",
+    "\xe2\x95\xac",
+    "\xc2\xa9",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\xd0\xaa",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\x9a",
+    0x000000a9 => "\xbf",
+    0x000000b0 => "\x9c",
+    0x000000b2 => "\x9d",
+    0x000000b7 => "\x9e",
+    0x000000f7 => "\x9f",
+    0x00000401 => "\xb3",
+    0x00000410 => "\xe1",
+    0x00000411 => "\xe2",
+    0x00000412 => "\xf7",
+    0x00000413 => "\xe7",
+    0x00000414 => "\xe4",
+    0x00000415 => "\xe5",
+    0x00000416 => "\xf6",
+    0x00000417 => "\xfa",
+    0x00000418 => "\xe9",
+    0x00000419 => "\xea",
+    0x0000041a => "\xeb",
+    0x0000041b => "\xec",
+    0x0000041c => "\xed",
+    0x0000041d => "\xee",
+    0x0000041e => "\xef",
+    0x0000041f => "\xf0",
+    0x00000420 => "\xf2",
+    0x00000421 => "\xf3",
+    0x00000422 => "\xf4",
+    0x00000423 => "\xf5",
+    0x00000424 => "\xe6",
+    0x00000425 => "\xe8",
+    0x00000426 => "\xe3",
+    0x00000427 => "\xfe",
+    0x00000428 => "\xfb",
+    0x00000429 => "\xfd",
+    0x0000042a => "\xff",
+    0x0000042b => "\xf9",
+    0x0000042c => "\xf8",
+    0x0000042d => "\xfc",
+    0x0000042e => "\xe0",
+    0x0000042f => "\xf1",
+    0x00000430 => "\xc1",
+    0x00000431 => "\xc2",
+    0x00000432 => "\xd7",
+    0x00000433 => "\xc7",
+    0x00000434 => "\xc4",
+    0x00000435 => "\xc5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xda",
+    0x00000438 => "\xc9",
+    0x00000439 => "\xca",
+    0x0000043a => "\xcb",
+    0x0000043b => "\xcc",
+    0x0000043c => "\xcd",
+    0x0000043d => "\xce",
+    0x0000043e => "\xcf",
+    0x0000043f => "\xd0",
+    0x00000440 => "\xd2",
+    0x00000441 => "\xd3",
+    0x00000442 => "\xd4",
+    0x00000443 => "\xd5",
+    0x00000444 => "\xc6",
+    0x00000445 => "\xc8",
+    0x00000446 => "\xc3",
+    0x00000447 => "\xde",
+    0x00000448 => "\xdb",
+    0x00000449 => "\xdd",
+    0x0000044a => "\xdf",
+    0x0000044b => "\xd9",
+    0x0000044c => "\xd8",
+    0x0000044d => "\xdc",
+    0x0000044e => "\xc0",
+    0x0000044f => "\xd1",
+    0x00000451 => "\xa3",
+    0x00002219 => "\x95",
+    0x0000221a => "\x96",
+    0x00002248 => "\x97",
+    0x00002264 => "\x98",
+    0x00002265 => "\x99",
+    0x00002320 => "\x93",
+    0x00002321 => "\x9b",
+    0x00002500 => "\x80",
+    0x00002502 => "\x81",
+    0x0000250c => "\x82",
+    0x00002510 => "\x83",
+    0x00002514 => "\x84",
+    0x00002518 => "\x85",
+    0x0000251c => "\x86",
+    0x00002524 => "\x87",
+    0x0000252c => "\x88",
+    0x00002534 => "\x89",
+    0x0000253c => "\x8a",
+    0x00002550 => "\xa0",
+    0x00002551 => "\xa1",
+    0x00002552 => "\xa2",
+    0x00002553 => "\xa4",
+    0x00002554 => "\xa5",
+    0x00002555 => "\xa6",
+    0x00002556 => "\xa7",
+    0x00002557 => "\xa8",
+    0x00002558 => "\xa9",
+    0x00002559 => "\xaa",
+    0x0000255a => "\xab",
+    0x0000255b => "\xac",
+    0x0000255c => "\xad",
+    0x0000255d => "\xae",
+    0x0000255e => "\xaf",
+    0x0000255f => "\xb0",
+    0x00002560 => "\xb1",
+    0x00002561 => "\xb2",
+    0x00002562 => "\xb4",
+    0x00002563 => "\xb5",
+    0x00002564 => "\xb6",
+    0x00002565 => "\xb7",
+    0x00002566 => "\xb8",
+    0x00002567 => "\xb9",
+    0x00002568 => "\xba",
+    0x00002569 => "\xbb",
+    0x0000256a => "\xbc",
+    0x0000256b => "\xbd",
+    0x0000256c => "\xbe",
+    0x00002580 => "\x8b",
+    0x00002584 => "\x8c",
+    0x00002588 => "\x8d",
+    0x0000258c => "\x8e",
+    0x00002590 => "\x8f",
+    0x00002591 => "\x90",
+    0x00002592 => "\x91",
+    0x00002593 => "\x92",
+    0x000025a0 => "\x94",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::KOI8_R - Conversion routines for KOI8-R
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for KOI8-R.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: RFC1489 via Gabor Kiss E<lt>address@hidden<gt>
+  and Andrey A. Chernov E<lt>address@hidden<gt>
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    81 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    82 |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    83 |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    84 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    85 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    86 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    87 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    88 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    89 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    8A |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    8B |  00002580 | UPPER HALF BLOCK
+    8C |  00002584 | LOWER HALF BLOCK
+    8D |  00002588 | FULL BLOCK
+    8E |  0000258C | LEFT HALF BLOCK
+    8F |  00002590 | RIGHT HALF BLOCK
+    90 |  00002591 | LIGHT SHADE
+    91 |  00002592 | MEDIUM SHADE
+    92 |  00002593 | DARK SHADE
+    93 |  00002320 | TOP HALF INTEGRAL
+    94 |  000025A0 | BLACK SQUARE
+    95 |  00002219 | BULLET OPERATOR
+    96 |  0000221A | SQUARE ROOT
+    97 |  00002248 | ALMOST EQUAL TO
+    98 |  00002264 | LESS-THAN OR EQUAL TO
+    99 |  00002265 | GREATER-THAN OR EQUAL TO
+    9A |  000000A0 | NO-BREAK SPACE
+    9B |  00002321 | BOTTOM HALF INTEGRAL
+    9C |  000000B0 | DEGREE SIGN
+    9D |  000000B2 | SUPERSCRIPT TWO
+    9E |  000000B7 | MIDDLE DOT
+    9F |  000000F7 | DIVISION SIGN
+    A0 |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    A1 |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    A2 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    A3 |  00000451 | CYRILLIC SMALL LETTER IO
+    A4 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    A5 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    A6 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    A7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    A8 |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    A9 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    AA |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    AB |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    AC |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    AD |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    AE |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
+    AF |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    B0 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    B1 |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    B2 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B3 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    B4 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    B5 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    B6 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    B7 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    B8 |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    B9 |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    BA |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    BB |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    BC |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    BD |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    BE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    BF |  000000A9 | COPYRIGHT SIGN
+    C0 |  0000044E | CYRILLIC SMALL LETTER YU
+    C1 |  00000430 | CYRILLIC SMALL LETTER A
+    C2 |  00000431 | CYRILLIC SMALL LETTER BE
+    C3 |  00000446 | CYRILLIC SMALL LETTER TSE
+    C4 |  00000434 | CYRILLIC SMALL LETTER DE
+    C5 |  00000435 | CYRILLIC SMALL LETTER IE
+    C6 |  00000444 | CYRILLIC SMALL LETTER EF
+    C7 |  00000433 | CYRILLIC SMALL LETTER GHE
+    C8 |  00000445 | CYRILLIC SMALL LETTER HA
+    C9 |  00000438 | CYRILLIC SMALL LETTER I
+    CA |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    CB |  0000043A | CYRILLIC SMALL LETTER KA
+    CC |  0000043B | CYRILLIC SMALL LETTER EL
+    CD |  0000043C | CYRILLIC SMALL LETTER EM
+    CE |  0000043D | CYRILLIC SMALL LETTER EN
+    CF |  0000043E | CYRILLIC SMALL LETTER O
+    D0 |  0000043F | CYRILLIC SMALL LETTER PE
+    D1 |  0000044F | CYRILLIC SMALL LETTER YA
+    D2 |  00000440 | CYRILLIC SMALL LETTER ER
+    D3 |  00000441 | CYRILLIC SMALL LETTER ES
+    D4 |  00000442 | CYRILLIC SMALL LETTER TE
+    D5 |  00000443 | CYRILLIC SMALL LETTER U
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000432 | CYRILLIC SMALL LETTER VE
+    D8 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    D9 |  0000044B | CYRILLIC SMALL LETTER YERU
+    DA |  00000437 | CYRILLIC SMALL LETTER ZE
+    DB |  00000448 | CYRILLIC SMALL LETTER SHA
+    DC |  0000044D | CYRILLIC SMALL LETTER E
+    DD |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    DE |  00000447 | CYRILLIC SMALL LETTER CHE
+    DF |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    E0 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    E1 |  00000410 | CYRILLIC CAPITAL LETTER A
+    E2 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    E3 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    E4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    E5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    E6 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    E7 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    E8 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    E9 |  00000418 | CYRILLIC CAPITAL LETTER I
+    EA |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    EB |  0000041A | CYRILLIC CAPITAL LETTER KA
+    EC |  0000041B | CYRILLIC CAPITAL LETTER EL
+    ED |  0000041C | CYRILLIC CAPITAL LETTER EM
+    EE |  0000041D | CYRILLIC CAPITAL LETTER EN
+    EF |  0000041E | CYRILLIC CAPITAL LETTER O
+    F0 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    F1 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    F2 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    F3 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    F4 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    F5 |  00000423 | CYRILLIC CAPITAL LETTER U
+    F6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    F7 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    F8 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    F9 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    FA |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    FB |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    FC |  0000042D | CYRILLIC CAPITAL LETTER E
+    FD |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FE |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    FF |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_RU.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_RU.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_RU.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_RU.pm  12 Oct 2011 
23:51:46 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: KOI8_RU.pm,v 1.1 2011/10/12 23:51:46 pertusus Exp $
+
+# Conversion routines for KOI8-RU.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::KOI8_RU;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x2500,
+    0x2502,
+    0x250c,
+    0x2510,
+    0x2514,
+    0x2518,
+    0x251c,
+    0x2524,
+    0x252c,
+    0x2534,
+    0x253c,
+    0x2580,
+    0x2584,
+    0x2588,
+    0x258c,
+    0x2590,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2320,
+    0x25a0,
+    0x2219,
+    0x221a,
+    0x2248,
+    0x2264,
+    0x2265,
+    0x00a0,
+    0x2321,
+    0x00b0,
+    0x00b2,
+    0x00b7,
+    0x00f7,
+    0x2550,
+    0x2551,
+    0x2552,
+    0x0451,
+    0x0454,
+    0x2554,
+    0x0456,
+    0x0457,
+    0x2557,
+    0x2558,
+    0x2559,
+    0x255a,
+    0x255b,
+    0x0491,
+    0x045e,
+    0x255e,
+    0x255f,
+    0x2560,
+    0x2561,
+    0x0401,
+    0x0404,
+    0x2563,
+    0x0406,
+    0x0407,
+    0x2566,
+    0x2567,
+    0x2568,
+    0x2569,
+    0x256a,
+    0x0490,
+    0x040e,
+    0x00a9,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x042a,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x94\x80",
+    "\xe2\x94\x82",
+    "\xe2\x94\x8c",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\x98",
+    "\xe2\x94\x9c",
+    "\xe2\x94\xa4",
+    "\xe2\x94\xac",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xbc",
+    "\xe2\x96\x80",
+    "\xe2\x96\x84",
+    "\xe2\x96\x88",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x8c\xa0",
+    "\xe2\x96\xa0",
+    "\xe2\x88\x99",
+    "\xe2\x88\x9a",
+    "\xe2\x89\x88",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa0",
+    "\xe2\x8c\xa1",
+    "\xc2\xb0",
+    "\xc2\xb2",
+    "\xc2\xb7",
+    "\xc3\xb7",
+    "\xe2\x95\x90",
+    "\xe2\x95\x91",
+    "\xe2\x95\x92",
+    "\xd1\x91",
+    "\xd1\x94",
+    "\xe2\x95\x94",
+    "\xd1\x96",
+    "\xd1\x97",
+    "\xe2\x95\x97",
+    "\xe2\x95\x98",
+    "\xe2\x95\x99",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x9b",
+    "\xd2\x91",
+    "\xd1\x9e",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\xa0",
+    "\xe2\x95\xa1",
+    "\xd0\x81",
+    "\xd0\x84",
+    "\xe2\x95\xa3",
+    "\xd0\x86",
+    "\xd0\x87",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xaa",
+    "\xd2\x90",
+    "\xd0\x8e",
+    "\xc2\xa9",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\xd0\xaa",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\x9a",
+    0x000000a9 => "\xbf",
+    0x000000b0 => "\x9c",
+    0x000000b2 => "\x9d",
+    0x000000b7 => "\x9e",
+    0x000000f7 => "\x9f",
+    0x00000401 => "\xb3",
+    0x00000404 => "\xb4",
+    0x00000406 => "\xb6",
+    0x00000407 => "\xb7",
+    0x0000040e => "\xbe",
+    0x00000410 => "\xe1",
+    0x00000411 => "\xe2",
+    0x00000412 => "\xf7",
+    0x00000413 => "\xe7",
+    0x00000414 => "\xe4",
+    0x00000415 => "\xe5",
+    0x00000416 => "\xf6",
+    0x00000417 => "\xfa",
+    0x00000418 => "\xe9",
+    0x00000419 => "\xea",
+    0x0000041a => "\xeb",
+    0x0000041b => "\xec",
+    0x0000041c => "\xed",
+    0x0000041d => "\xee",
+    0x0000041e => "\xef",
+    0x0000041f => "\xf0",
+    0x00000420 => "\xf2",
+    0x00000421 => "\xf3",
+    0x00000422 => "\xf4",
+    0x00000423 => "\xf5",
+    0x00000424 => "\xe6",
+    0x00000425 => "\xe8",
+    0x00000426 => "\xe3",
+    0x00000427 => "\xfe",
+    0x00000428 => "\xfb",
+    0x00000429 => "\xfd",
+    0x0000042a => "\xff",
+    0x0000042b => "\xf9",
+    0x0000042c => "\xf8",
+    0x0000042d => "\xfc",
+    0x0000042e => "\xe0",
+    0x0000042f => "\xf1",
+    0x00000430 => "\xc1",
+    0x00000431 => "\xc2",
+    0x00000432 => "\xd7",
+    0x00000433 => "\xc7",
+    0x00000434 => "\xc4",
+    0x00000435 => "\xc5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xda",
+    0x00000438 => "\xc9",
+    0x00000439 => "\xca",
+    0x0000043a => "\xcb",
+    0x0000043b => "\xcc",
+    0x0000043c => "\xcd",
+    0x0000043d => "\xce",
+    0x0000043e => "\xcf",
+    0x0000043f => "\xd0",
+    0x00000440 => "\xd2",
+    0x00000441 => "\xd3",
+    0x00000442 => "\xd4",
+    0x00000443 => "\xd5",
+    0x00000444 => "\xc6",
+    0x00000445 => "\xc8",
+    0x00000446 => "\xc3",
+    0x00000447 => "\xde",
+    0x00000448 => "\xdb",
+    0x00000449 => "\xdd",
+    0x0000044a => "\xdf",
+    0x0000044b => "\xd9",
+    0x0000044c => "\xd8",
+    0x0000044d => "\xdc",
+    0x0000044e => "\xc0",
+    0x0000044f => "\xd1",
+    0x00000451 => "\xa3",
+    0x00000454 => "\xa4",
+    0x00000456 => "\xa6",
+    0x00000457 => "\xa7",
+    0x0000045e => "\xae",
+    0x00000490 => "\xbd",
+    0x00000491 => "\xad",
+    0x00002219 => "\x95",
+    0x0000221a => "\x96",
+    0x00002248 => "\x97",
+    0x00002264 => "\x98",
+    0x00002265 => "\x99",
+    0x00002320 => "\x93",
+    0x00002321 => "\x9b",
+    0x00002500 => "\x80",
+    0x00002502 => "\x81",
+    0x0000250c => "\x82",
+    0x00002510 => "\x83",
+    0x00002514 => "\x84",
+    0x00002518 => "\x85",
+    0x0000251c => "\x86",
+    0x00002524 => "\x87",
+    0x0000252c => "\x88",
+    0x00002534 => "\x89",
+    0x0000253c => "\x8a",
+    0x00002550 => "\xa0",
+    0x00002551 => "\xa1",
+    0x00002552 => "\xa2",
+    0x00002554 => "\xa5",
+    0x00002557 => "\xa8",
+    0x00002558 => "\xa9",
+    0x00002559 => "\xaa",
+    0x0000255a => "\xab",
+    0x0000255b => "\xac",
+    0x0000255e => "\xaf",
+    0x0000255f => "\xb0",
+    0x00002560 => "\xb1",
+    0x00002561 => "\xb2",
+    0x00002563 => "\xb5",
+    0x00002566 => "\xb8",
+    0x00002567 => "\xb9",
+    0x00002568 => "\xba",
+    0x00002569 => "\xbb",
+    0x0000256a => "\xbc",
+    0x00002580 => "\x8b",
+    0x00002584 => "\x8c",
+    0x00002588 => "\x8d",
+    0x0000258c => "\x8e",
+    0x00002590 => "\x8f",
+    0x00002591 => "\x90",
+    0x00002592 => "\x91",
+    0x00002593 => "\x92",
+    0x000025a0 => "\x94",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::KOI8_RU - Conversion routines for KOI8-RU
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for KOI8-RU.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    81 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    82 |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    83 |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    84 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    85 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    86 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    87 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    88 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    89 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    8A |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    8B |  00002580 | UPPER HALF BLOCK
+    8C |  00002584 | LOWER HALF BLOCK
+    8D |  00002588 | FULL BLOCK
+    8E |  0000258C | LEFT HALF BLOCK
+    8F |  00002590 | RIGHT HALF BLOCK
+    90 |  00002591 | LIGHT SHADE
+    91 |  00002592 | MEDIUM SHADE
+    92 |  00002593 | DARK SHADE
+    93 |  00002320 | TOP HALF INTEGRAL
+    94 |  000025A0 | BLACK SQUARE
+    95 |  00002219 | BULLET OPERATOR
+    96 |  0000221A | SQUARE ROOT
+    97 |  00002248 | ALMOST EQUAL TO
+    98 |  00002264 | LESS-THAN OR EQUAL TO
+    99 |  00002265 | GREATER-THAN OR EQUAL TO
+    9A |  000000A0 | NO-BREAK SPACE
+    9B |  00002321 | BOTTOM HALF INTEGRAL
+    9C |  000000B0 | DEGREE SIGN
+    9D |  000000B2 | SUPERSCRIPT TWO
+    9E |  000000B7 | MIDDLE DOT
+    9F |  000000F7 | DIVISION SIGN
+    A0 |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    A1 |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    A2 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    A3 |  00000451 | CYRILLIC SMALL LETTER IO
+    A4 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    A5 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    A6 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    A7 |  00000457 | CYRILLIC SMALL LETTER YI
+    A8 |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    A9 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    AA |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    AB |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    AC |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    AD |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
+    AE |  0000045E | CYRILLIC SMALL LETTER SHORT U
+    AF |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    B0 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    B1 |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    B2 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B3 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    B4 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    B5 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    B6 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    B7 |  00000407 | CYRILLIC CAPITAL LETTER YI
+    B8 |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    B9 |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    BA |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    BB |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    BC |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    BD |  00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    BE |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
+    BF |  000000A9 | COPYRIGHT SIGN
+    C0 |  0000044E | CYRILLIC SMALL LETTER YU
+    C1 |  00000430 | CYRILLIC SMALL LETTER A
+    C2 |  00000431 | CYRILLIC SMALL LETTER BE
+    C3 |  00000446 | CYRILLIC SMALL LETTER TSE
+    C4 |  00000434 | CYRILLIC SMALL LETTER DE
+    C5 |  00000435 | CYRILLIC SMALL LETTER IE
+    C6 |  00000444 | CYRILLIC SMALL LETTER EF
+    C7 |  00000433 | CYRILLIC SMALL LETTER GHE
+    C8 |  00000445 | CYRILLIC SMALL LETTER HA
+    C9 |  00000438 | CYRILLIC SMALL LETTER I
+    CA |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    CB |  0000043A | CYRILLIC SMALL LETTER KA
+    CC |  0000043B | CYRILLIC SMALL LETTER EL
+    CD |  0000043C | CYRILLIC SMALL LETTER EM
+    CE |  0000043D | CYRILLIC SMALL LETTER EN
+    CF |  0000043E | CYRILLIC SMALL LETTER O
+    D0 |  0000043F | CYRILLIC SMALL LETTER PE
+    D1 |  0000044F | CYRILLIC SMALL LETTER YA
+    D2 |  00000440 | CYRILLIC SMALL LETTER ER
+    D3 |  00000441 | CYRILLIC SMALL LETTER ES
+    D4 |  00000442 | CYRILLIC SMALL LETTER TE
+    D5 |  00000443 | CYRILLIC SMALL LETTER U
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000432 | CYRILLIC SMALL LETTER VE
+    D8 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    D9 |  0000044B | CYRILLIC SMALL LETTER YERU
+    DA |  00000437 | CYRILLIC SMALL LETTER ZE
+    DB |  00000448 | CYRILLIC SMALL LETTER SHA
+    DC |  0000044D | CYRILLIC SMALL LETTER E
+    DD |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    DE |  00000447 | CYRILLIC SMALL LETTER CHE
+    DF |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    E0 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    E1 |  00000410 | CYRILLIC CAPITAL LETTER A
+    E2 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    E3 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    E4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    E5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    E6 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    E7 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    E8 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    E9 |  00000418 | CYRILLIC CAPITAL LETTER I
+    EA |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    EB |  0000041A | CYRILLIC CAPITAL LETTER KA
+    EC |  0000041B | CYRILLIC CAPITAL LETTER EL
+    ED |  0000041C | CYRILLIC CAPITAL LETTER EM
+    EE |  0000041D | CYRILLIC CAPITAL LETTER EN
+    EF |  0000041E | CYRILLIC CAPITAL LETTER O
+    F0 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    F1 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    F2 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    F3 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    F4 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    F5 |  00000423 | CYRILLIC CAPITAL LETTER U
+    F6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    F7 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    F8 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    F9 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    FA |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    FB |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    FC |  0000042D | CYRILLIC CAPITAL LETTER E
+    FD |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FE |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    FF |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_T.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_T.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_T.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_T.pm   12 Oct 2011 
23:51:46 -0000      1.1
@@ -0,0 +1,1107 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: KOI8_T.pm,v 1.1 2011/10/12 23:51:46 pertusus Exp $
+
+# Conversion routines for KOI8-T.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::KOI8_T;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x049b,
+    0x0493,
+    0x201a,
+    0x0492,
+    0x201e,
+    0x2026,
+    0x2020,
+    0x2021,
+    0xfffd,
+    0x2030,
+    0x04b3,
+    0x2039,
+    0x04b2,
+    0x04b7,
+    0x04b6,
+    0xfffd,
+    0x049a,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0xfffd,
+    0x2122,
+    0xfffd,
+    0x203a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x04ef,
+    0x04ee,
+    0x0451,
+    0x00a4,
+    0x04e3,
+    0x00a6,
+    0x00a7,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0xfffd,
+    0x00b0,
+    0x00b1,
+    0x00b2,
+    0x0401,
+    0xfffd,
+    0x04e2,
+    0x00b6,
+    0x00b7,
+    0xfffd,
+    0x2116,
+    0xfffd,
+    0x00bb,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x00a9,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x042a,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd2\x9b",
+    "\xd2\x93",
+    "\xe2\x80\x9a",
+    "\xd2\x92",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xb0",
+    "\xd2\xb3",
+    "\xe2\x80\xb9",
+    "\xd2\xb2",
+    "\xd2\xb7",
+    "\xd2\xb6",
+    "\xef\xbf\xbd",
+    "\xd2\x9a",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xef\xbf\xbd",
+    "\xe2\x84\xa2",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xba",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd3\xaf",
+    "\xd3\xae",
+    "\xd1\x91",
+    "\xc2\xa4",
+    "\xd3\xa3",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xef\xbf\xbd",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc2\xb2",
+    "\xd0\x81",
+    "\xef\xbf\xbd",
+    "\xd3\xa2",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xef\xbf\xbd",
+    "\xe2\x84\x96",
+    "\xef\xbf\xbd",
+    "\xc2\xbb",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xa9",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\xd0\xaa",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a4 => "\xa4",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a9 => "\xbf",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\xb2",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000bb => "\xbb",
+    0x00000401 => "\xb3",
+    0x00000410 => "\xe1",
+    0x00000411 => "\xe2",
+    0x00000412 => "\xf7",
+    0x00000413 => "\xe7",
+    0x00000414 => "\xe4",
+    0x00000415 => "\xe5",
+    0x00000416 => "\xf6",
+    0x00000417 => "\xfa",
+    0x00000418 => "\xe9",
+    0x00000419 => "\xea",
+    0x0000041a => "\xeb",
+    0x0000041b => "\xec",
+    0x0000041c => "\xed",
+    0x0000041d => "\xee",
+    0x0000041e => "\xef",
+    0x0000041f => "\xf0",
+    0x00000420 => "\xf2",
+    0x00000421 => "\xf3",
+    0x00000422 => "\xf4",
+    0x00000423 => "\xf5",
+    0x00000424 => "\xe6",
+    0x00000425 => "\xe8",
+    0x00000426 => "\xe3",
+    0x00000427 => "\xfe",
+    0x00000428 => "\xfb",
+    0x00000429 => "\xfd",
+    0x0000042a => "\xff",
+    0x0000042b => "\xf9",
+    0x0000042c => "\xf8",
+    0x0000042d => "\xfc",
+    0x0000042e => "\xe0",
+    0x0000042f => "\xf1",
+    0x00000430 => "\xc1",
+    0x00000431 => "\xc2",
+    0x00000432 => "\xd7",
+    0x00000433 => "\xc7",
+    0x00000434 => "\xc4",
+    0x00000435 => "\xc5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xda",
+    0x00000438 => "\xc9",
+    0x00000439 => "\xca",
+    0x0000043a => "\xcb",
+    0x0000043b => "\xcc",
+    0x0000043c => "\xcd",
+    0x0000043d => "\xce",
+    0x0000043e => "\xcf",
+    0x0000043f => "\xd0",
+    0x00000440 => "\xd2",
+    0x00000441 => "\xd3",
+    0x00000442 => "\xd4",
+    0x00000443 => "\xd5",
+    0x00000444 => "\xc6",
+    0x00000445 => "\xc8",
+    0x00000446 => "\xc3",
+    0x00000447 => "\xde",
+    0x00000448 => "\xdb",
+    0x00000449 => "\xdd",
+    0x0000044a => "\xdf",
+    0x0000044b => "\xd9",
+    0x0000044c => "\xd8",
+    0x0000044d => "\xdc",
+    0x0000044e => "\xc0",
+    0x0000044f => "\xd1",
+    0x00000451 => "\xa3",
+    0x00000492 => "\x83",
+    0x00000493 => "\x81",
+    0x0000049a => "\x90",
+    0x0000049b => "\x80",
+    0x000004b2 => "\x8c",
+    0x000004b3 => "\x8a",
+    0x000004b6 => "\x8e",
+    0x000004b7 => "\x8d",
+    0x000004e2 => "\xb5",
+    0x000004e3 => "\xa5",
+    0x000004ee => "\xa2",
+    0x000004ef => "\xa1",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201a => "\x82",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x0000201e => "\x84",
+    0x00002020 => "\x86",
+    0x00002021 => "\x87",
+    0x00002022 => "\x95",
+    0x00002026 => "\x85",
+    0x00002030 => "\x89",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x00002116 => "\xb9",
+    0x00002122 => "\x99",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::KOI8_T - Conversion routines for KOI8-T
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for KOI8-T.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ Author: Michael Davis E<lt>address@hidden<gt>
+ URL:    http://www.traveltajikistan.com/fonts
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  0000049B | CYRILLIC SMALL LETTER KA WITH DESCENDER
+    81 |  00000493 | CYRILLIC SMALL LETTER GHE WITH STROKE
+    82 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    83 |  00000492 | CYRILLIC CAPITAL LETTER GHE WITH STROKE
+    84 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    85 |  00002026 | HORIZONTAL ELLIPSIS
+    86 |  00002020 | DAGGER
+    87 |  00002021 | DOUBLE DAGGER
+    89 |  00002030 | PER MILLE SIGN
+    8A |  000004B3 | CYRILLIC SMALL LETTER HA WITH DESCENDER
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  000004B2 | CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+    8D |  000004B7 | CYRILLIC SMALL LETTER CHE WITH DESCENDER
+    8E |  000004B6 | CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+    90 |  0000049A | CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    99 |  00002122 | TRADE MARK SIGN
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    A1 |  000004EF | CYRILLIC SMALL LETTER U WITH MACRON
+    A2 |  000004EE | CYRILLIC CAPITAL LETTER U WITH MACRON
+    A3 |  00000451 | CYRILLIC SMALL LETTER IO
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000004E3 | CYRILLIC SMALL LETTER I WITH MACRON
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000000B2 | SUPERSCRIPT TWO
+    B3 |  00000401 | CYRILLIC CAPITAL LETTER IE
+    B5 |  000004E2 | CYRILLIC CAPITAL LETTER I WITH MACRON
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B9 |  00002116 | NUMERO SIGN
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BF |  000000A9 | COPYRIGHT SIGN
+    C0 |  0000044E | CYRILLIC SMALL LETTER YU
+    C1 |  00000430 | CYRILLIC SMALL LETTER A
+    C2 |  00000431 | CYRILLIC SMALL LETTER BE
+    C3 |  00000446 | CYRILLIC SMALL LETTER TSE
+    C4 |  00000434 | CYRILLIC SMALL LETTER DE
+    C5 |  00000435 | CYRILLIC SMALL LETTER IE
+    C6 |  00000444 | CYRILLIC SMALL LETTER EF
+    C7 |  00000433 | CYRILLIC SMALL LETTER GHE
+    C8 |  00000445 | CYRILLIC SMALL LETTER HA
+    C9 |  00000438 | CYRILLIC SMALL LETTER I
+    CA |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    CB |  0000043A | CYRILLIC SMALL LETTER KA
+    CC |  0000043B | CYRILLIC SMALL LETTER EL
+    CD |  0000043C | CYRILLIC SMALL LETTER EM
+    CE |  0000043D | CYRILLIC SMALL LETTER EN
+    CF |  0000043E | CYRILLIC SMALL LETTER O
+    D0 |  0000043F | CYRILLIC SMALL LETTER PE
+    D1 |  0000044F | CYRILLIC SMALL LETTER YA
+    D2 |  00000440 | CYRILLIC SMALL LETTER ER
+    D3 |  00000441 | CYRILLIC SMALL LETTER ES
+    D4 |  00000442 | CYRILLIC SMALL LETTER TE
+    D5 |  00000443 | CYRILLIC SMALL LETTER U
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000432 | CYRILLIC SMALL LETTER VE
+    D8 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    D9 |  0000044B | CYRILLIC SMALL LETTER YERU
+    DA |  00000437 | CYRILLIC SMALL LETTER ZE
+    DB |  00000448 | CYRILLIC SMALL LETTER SHA
+    DC |  0000044D | CYRILLIC SMALL LETTER E
+    DD |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    DE |  00000447 | CYRILLIC SMALL LETTER CHE
+    DF |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    E0 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    E1 |  00000410 | CYRILLIC CAPITAL LETTER A
+    E2 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    E3 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    E4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    E5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    E6 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    E7 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    E8 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    E9 |  00000418 | CYRILLIC CAPITAL LETTER I
+    EA |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    EB |  0000041A | CYRILLIC CAPITAL LETTER KA
+    EC |  0000041B | CYRILLIC CAPITAL LETTER EL
+    ED |  0000041C | CYRILLIC CAPITAL LETTER EM
+    EE |  0000041D | CYRILLIC CAPITAL LETTER EN
+    EF |  0000041E | CYRILLIC CAPITAL LETTER O
+    F0 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    F1 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    F2 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    F3 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    F4 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    F5 |  00000423 | CYRILLIC CAPITAL LETTER U
+    F6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    F7 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    F8 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    F9 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    FA |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    FB |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    FC |  0000042D | CYRILLIC CAPITAL LETTER E
+    FD |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FE |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    FF |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_U.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_U.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_U.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI8_U.pm   12 Oct 2011 
23:51:46 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: KOI8_U.pm,v 1.1 2011/10/12 23:51:46 pertusus Exp $
+
+# Conversion routines for KOI8-U.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::KOI8_U;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x2500,
+    0x2502,
+    0x250c,
+    0x2510,
+    0x2514,
+    0x2518,
+    0x251c,
+    0x2524,
+    0x252c,
+    0x2534,
+    0x253c,
+    0x2580,
+    0x2584,
+    0x2588,
+    0x258c,
+    0x2590,
+    0x2591,
+    0x2592,
+    0x2593,
+    0x2320,
+    0x25a0,
+    0x2219,
+    0x221a,
+    0x2248,
+    0x2264,
+    0x2265,
+    0x00a0,
+    0x2321,
+    0x00b0,
+    0x00b2,
+    0x00b7,
+    0x00f7,
+    0x2550,
+    0x2551,
+    0x2552,
+    0x0451,
+    0x0454,
+    0x2554,
+    0x0456,
+    0x0457,
+    0x2557,
+    0x2558,
+    0x2559,
+    0x255a,
+    0x255b,
+    0x0491,
+    0x255d,
+    0x255e,
+    0x255f,
+    0x2560,
+    0x2561,
+    0x0401,
+    0x0404,
+    0x2563,
+    0x0406,
+    0x0407,
+    0x2566,
+    0x2567,
+    0x2568,
+    0x2569,
+    0x256a,
+    0x0490,
+    0x256c,
+    0x00a9,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0x042a,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x94\x80",
+    "\xe2\x94\x82",
+    "\xe2\x94\x8c",
+    "\xe2\x94\x90",
+    "\xe2\x94\x94",
+    "\xe2\x94\x98",
+    "\xe2\x94\x9c",
+    "\xe2\x94\xa4",
+    "\xe2\x94\xac",
+    "\xe2\x94\xb4",
+    "\xe2\x94\xbc",
+    "\xe2\x96\x80",
+    "\xe2\x96\x84",
+    "\xe2\x96\x88",
+    "\xe2\x96\x8c",
+    "\xe2\x96\x90",
+    "\xe2\x96\x91",
+    "\xe2\x96\x92",
+    "\xe2\x96\x93",
+    "\xe2\x8c\xa0",
+    "\xe2\x96\xa0",
+    "\xe2\x88\x99",
+    "\xe2\x88\x9a",
+    "\xe2\x89\x88",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa0",
+    "\xe2\x8c\xa1",
+    "\xc2\xb0",
+    "\xc2\xb2",
+    "\xc2\xb7",
+    "\xc3\xb7",
+    "\xe2\x95\x90",
+    "\xe2\x95\x91",
+    "\xe2\x95\x92",
+    "\xd1\x91",
+    "\xd1\x94",
+    "\xe2\x95\x94",
+    "\xd1\x96",
+    "\xd1\x97",
+    "\xe2\x95\x97",
+    "\xe2\x95\x98",
+    "\xe2\x95\x99",
+    "\xe2\x95\x9a",
+    "\xe2\x95\x9b",
+    "\xd2\x91",
+    "\xe2\x95\x9d",
+    "\xe2\x95\x9e",
+    "\xe2\x95\x9f",
+    "\xe2\x95\xa0",
+    "\xe2\x95\xa1",
+    "\xd0\x81",
+    "\xd0\x84",
+    "\xe2\x95\xa3",
+    "\xd0\x86",
+    "\xd0\x87",
+    "\xe2\x95\xa6",
+    "\xe2\x95\xa7",
+    "\xe2\x95\xa8",
+    "\xe2\x95\xa9",
+    "\xe2\x95\xaa",
+    "\xd2\x90",
+    "\xe2\x95\xac",
+    "\xc2\xa9",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\xd0\xaa",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\x9a",
+    0x000000a9 => "\xbf",
+    0x000000b0 => "\x9c",
+    0x000000b2 => "\x9d",
+    0x000000b7 => "\x9e",
+    0x000000f7 => "\x9f",
+    0x00000401 => "\xb3",
+    0x00000404 => "\xb4",
+    0x00000406 => "\xb6",
+    0x00000407 => "\xb7",
+    0x00000410 => "\xe1",
+    0x00000411 => "\xe2",
+    0x00000412 => "\xf7",
+    0x00000413 => "\xe7",
+    0x00000414 => "\xe4",
+    0x00000415 => "\xe5",
+    0x00000416 => "\xf6",
+    0x00000417 => "\xfa",
+    0x00000418 => "\xe9",
+    0x00000419 => "\xea",
+    0x0000041a => "\xeb",
+    0x0000041b => "\xec",
+    0x0000041c => "\xed",
+    0x0000041d => "\xee",
+    0x0000041e => "\xef",
+    0x0000041f => "\xf0",
+    0x00000420 => "\xf2",
+    0x00000421 => "\xf3",
+    0x00000422 => "\xf4",
+    0x00000423 => "\xf5",
+    0x00000424 => "\xe6",
+    0x00000425 => "\xe8",
+    0x00000426 => "\xe3",
+    0x00000427 => "\xfe",
+    0x00000428 => "\xfb",
+    0x00000429 => "\xfd",
+    0x0000042a => "\xff",
+    0x0000042b => "\xf9",
+    0x0000042c => "\xf8",
+    0x0000042d => "\xfc",
+    0x0000042e => "\xe0",
+    0x0000042f => "\xf1",
+    0x00000430 => "\xc1",
+    0x00000431 => "\xc2",
+    0x00000432 => "\xd7",
+    0x00000433 => "\xc7",
+    0x00000434 => "\xc4",
+    0x00000435 => "\xc5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xda",
+    0x00000438 => "\xc9",
+    0x00000439 => "\xca",
+    0x0000043a => "\xcb",
+    0x0000043b => "\xcc",
+    0x0000043c => "\xcd",
+    0x0000043d => "\xce",
+    0x0000043e => "\xcf",
+    0x0000043f => "\xd0",
+    0x00000440 => "\xd2",
+    0x00000441 => "\xd3",
+    0x00000442 => "\xd4",
+    0x00000443 => "\xd5",
+    0x00000444 => "\xc6",
+    0x00000445 => "\xc8",
+    0x00000446 => "\xc3",
+    0x00000447 => "\xde",
+    0x00000448 => "\xdb",
+    0x00000449 => "\xdd",
+    0x0000044a => "\xdf",
+    0x0000044b => "\xd9",
+    0x0000044c => "\xd8",
+    0x0000044d => "\xdc",
+    0x0000044e => "\xc0",
+    0x0000044f => "\xd1",
+    0x00000451 => "\xa3",
+    0x00000454 => "\xa4",
+    0x00000456 => "\xa6",
+    0x00000457 => "\xa7",
+    0x00000490 => "\xbd",
+    0x00000491 => "\xad",
+    0x00002219 => "\x95",
+    0x0000221a => "\x96",
+    0x00002248 => "\x97",
+    0x00002264 => "\x98",
+    0x00002265 => "\x99",
+    0x00002320 => "\x93",
+    0x00002321 => "\x9b",
+    0x00002500 => "\x80",
+    0x00002502 => "\x81",
+    0x0000250c => "\x82",
+    0x00002510 => "\x83",
+    0x00002514 => "\x84",
+    0x00002518 => "\x85",
+    0x0000251c => "\x86",
+    0x00002524 => "\x87",
+    0x0000252c => "\x88",
+    0x00002534 => "\x89",
+    0x0000253c => "\x8a",
+    0x00002550 => "\xa0",
+    0x00002551 => "\xa1",
+    0x00002552 => "\xa2",
+    0x00002554 => "\xa5",
+    0x00002557 => "\xa8",
+    0x00002558 => "\xa9",
+    0x00002559 => "\xaa",
+    0x0000255a => "\xab",
+    0x0000255b => "\xac",
+    0x0000255d => "\xae",
+    0x0000255e => "\xaf",
+    0x0000255f => "\xb0",
+    0x00002560 => "\xb1",
+    0x00002561 => "\xb2",
+    0x00002563 => "\xb5",
+    0x00002566 => "\xb8",
+    0x00002567 => "\xb9",
+    0x00002568 => "\xba",
+    0x00002569 => "\xbb",
+    0x0000256a => "\xbc",
+    0x0000256c => "\xbe",
+    0x00002580 => "\x8b",
+    0x00002584 => "\x8c",
+    0x00002588 => "\x8d",
+    0x0000258c => "\x8e",
+    0x00002590 => "\x8f",
+    0x00002591 => "\x90",
+    0x00002592 => "\x91",
+    0x00002593 => "\x92",
+    0x000025a0 => "\x94",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::KOI8_U - Conversion routines for KOI8-U
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for KOI8-U.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.1
+  source: RFC 2319
+  source: http://www.net.ua/KOI8-U/
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
+    81 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
+    82 |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
+    83 |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
+    84 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
+    85 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
+    86 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    87 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    88 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    89 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    8A |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    8B |  00002580 | UPPER HALF BLOCK
+    8C |  00002584 | LOWER HALF BLOCK
+    8D |  00002588 | FULL BLOCK
+    8E |  0000258C | LEFT HALF BLOCK
+    8F |  00002590 | RIGHT HALF BLOCK
+    90 |  00002591 | LIGHT SHADE
+    91 |  00002592 | MEDIUM SHADE
+    92 |  00002593 | DARK SHADE
+    93 |  00002320 | TOP HALF INTEGRAL
+    94 |  000025A0 | BLACK SQUARE
+    95 |  00002219 | BULLET OPERATOR
+    96 |  0000221A | SQUARE ROOT
+    97 |  00002248 | ALMOST EQUAL TO
+    98 |  00002264 | LESS THAN OR EQUAL TO
+    99 |  00002265 | GREATER THAN OR EQUAL TO
+    9A |  000000A0 | NO-BREAK SPACE
+    9B |  00002321 | BOTTOM HALF INTEGRAL
+    9C |  000000B0 | DEGREE SIGN
+    9D |  000000B2 | SUPERSCRIPT DIGIT TWO
+    9E |  000000B7 | MIDDLE DOT
+    9F |  000000F7 | DIVISION SIGN
+    A0 |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
+    A1 |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
+    A2 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    A3 |  00000451 | CYRILLIC SMALL LETTER IO
+    A4 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    A5 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    A6 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    A7 |  00000457 | CYRILLIC SMALL LETTER YI (Ukrainian)
+    A8 |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
+    A9 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    AA |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    AB |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
+    AC |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    AD |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
+    AE |  0000255D | BOX DRAWINGS  DOUBLE UP AND LEFT
+    AF |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    B0 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    B1 |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    B2 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    B3 |  00000401 | CYRILLIC CAPITAL LETTER IO
+    B4 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    B5 |  00002563 | DOUBLE VERTICAL AND LEFT
+    B6 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    B7 |  00000407 | CYRILLIC CAPITAL LETTER YI (Ukrainian)
+    B8 |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    B9 |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    BA |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    BB |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    BC |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    BD |  00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    BE |  0000256C | BOX DRAWINGS  DOUBLE VERTICAL AND HORIZONTAL
+    BF |  000000A9 | COPYRIGHT SIGN
+    C0 |  0000044E | CYRILLIC SMALL LETTER YU
+    C1 |  00000430 | CYRILLIC SMALL LETTER A
+    C2 |  00000431 | CYRILLIC SMALL LETTER BE
+    C3 |  00000446 | CYRILLIC SMALL LETTER TSE
+    C4 |  00000434 | CYRILLIC SMALL LETTER DE
+    C5 |  00000435 | CYRILLIC SMALL LETTER IE
+    C6 |  00000444 | CYRILLIC SMALL LETTER EF
+    C7 |  00000433 | CYRILLIC SMALL LETTER GHE
+    C8 |  00000445 | CYRILLIC SMALL LETTER HA
+    C9 |  00000438 | CYRILLIC SMALL LETTER I
+    CA |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    CB |  0000043A | CYRILLIC SMALL LETTER KA
+    CC |  0000043B | CYRILLIC SMALL LETTER EL
+    CD |  0000043C | CYRILLIC SMALL LETTER EM
+    CE |  0000043D | CYRILLIC SMALL LETTER EN
+    CF |  0000043E | CYRILLIC SMALL LETTER O
+    D0 |  0000043F | CYRILLIC SMALL LETTER PE
+    D1 |  0000044F | CYRILLIC SMALL LETTER YA
+    D2 |  00000440 | CYRILLIC SMALL LETTER ER
+    D3 |  00000441 | CYRILLIC SMALL LETTER ES
+    D4 |  00000442 | CYRILLIC SMALL LETTER TE
+    D5 |  00000443 | CYRILLIC SMALL LETTER U
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000432 | CYRILLIC SMALL LETTER VE
+    D8 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    D9 |  0000044B | CYRILLIC SMALL LETTER YERU
+    DA |  00000437 | CYRILLIC SMALL LETTER ZE
+    DB |  00000448 | CYRILLIC SMALL LETTER SHA
+    DC |  0000044D | CYRILLIC SMALL LETTER E
+    DD |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    DE |  00000447 | CYRILLIC SMALL LETTER CHE
+    DF |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    E0 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    E1 |  00000410 | CYRILLIC CAPITAL LETTER A
+    E2 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    E3 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    E4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    E5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    E6 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    E7 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    E8 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    E9 |  00000418 | CYRILLIC CAPITAL LETTER I
+    EA |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    EB |  0000041A | CYRILLIC CAPITAL LETTER KA
+    EC |  0000041B | CYRILLIC CAPITAL LETTER EL
+    ED |  0000041C | CYRILLIC CAPITAL LETTER EM
+    EE |  0000041D | CYRILLIC CAPITAL LETTER EN
+    EF |  0000041E | CYRILLIC CAPITAL LETTER O
+    F0 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    F1 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    F2 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    F3 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    F4 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    F5 |  00000423 | CYRILLIC CAPITAL LETTER U
+    F6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    F7 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    F8 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    F9 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    FA |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    FB |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    FC |  0000042D | CYRILLIC CAPITAL LETTER E
+    FD |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FE |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    FF |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI_8.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI_8.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI_8.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/KOI_8.pm    12 Oct 2011 
23:51:47 -0000      1.1
@@ -0,0 +1,1015 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: KOI_8.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for KOI-8.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::KOI_8;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x044e,
+    0x0430,
+    0x0431,
+    0x0446,
+    0x0434,
+    0x0435,
+    0x0444,
+    0x0433,
+    0x0445,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x044f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0436,
+    0x0432,
+    0x044c,
+    0x044b,
+    0x0437,
+    0x0448,
+    0x044d,
+    0x0449,
+    0x0447,
+    0x044a,
+    0x042e,
+    0x0410,
+    0x0411,
+    0x0426,
+    0x0414,
+    0x0415,
+    0x0424,
+    0x0413,
+    0x0425,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x042f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0416,
+    0x0412,
+    0x042c,
+    0x042b,
+    0x0417,
+    0x0428,
+    0x042d,
+    0x0429,
+    0x0427,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd1\x8e",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd1\x86",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd1\x84",
+    "\xd0\xb3",
+    "\xd1\x85",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x8f",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd0\xb6",
+    "\xd0\xb2",
+    "\xd1\x8c",
+    "\xd1\x8b",
+    "\xd0\xb7",
+    "\xd1\x88",
+    "\xd1\x8d",
+    "\xd1\x89",
+    "\xd1\x87",
+    "\xd1\x8a",
+    "\xd0\xae",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\xa6",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\xa4",
+    "\xd0\x93",
+    "\xd0\xa5",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xaf",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\x96",
+    "\xd0\x92",
+    "\xd0\xac",
+    "\xd0\xab",
+    "\xd0\x97",
+    "\xd0\xa8",
+    "\xd0\xad",
+    "\xd0\xa9",
+    "\xd0\xa7",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000410 => "\xe1",
+    0x00000411 => "\xe2",
+    0x00000412 => "\xf7",
+    0x00000413 => "\xe7",
+    0x00000414 => "\xe4",
+    0x00000415 => "\xe5",
+    0x00000416 => "\xf6",
+    0x00000417 => "\xfa",
+    0x00000418 => "\xe9",
+    0x00000419 => "\xea",
+    0x0000041a => "\xeb",
+    0x0000041b => "\xec",
+    0x0000041c => "\xed",
+    0x0000041d => "\xee",
+    0x0000041e => "\xef",
+    0x0000041f => "\xf0",
+    0x00000420 => "\xf2",
+    0x00000421 => "\xf3",
+    0x00000422 => "\xf4",
+    0x00000423 => "\xf5",
+    0x00000424 => "\xe6",
+    0x00000425 => "\xe8",
+    0x00000426 => "\xe3",
+    0x00000427 => "\xfe",
+    0x00000428 => "\xfb",
+    0x00000429 => "\xfd",
+    0x0000042b => "\xf9",
+    0x0000042c => "\xf8",
+    0x0000042d => "\xfc",
+    0x0000042e => "\xe0",
+    0x0000042f => "\xf1",
+    0x00000430 => "\xc1",
+    0x00000431 => "\xc2",
+    0x00000432 => "\xd7",
+    0x00000433 => "\xc7",
+    0x00000434 => "\xc4",
+    0x00000435 => "\xc5",
+    0x00000436 => "\xd6",
+    0x00000437 => "\xda",
+    0x00000438 => "\xc9",
+    0x00000439 => "\xca",
+    0x0000043a => "\xcb",
+    0x0000043b => "\xcc",
+    0x0000043c => "\xcd",
+    0x0000043d => "\xce",
+    0x0000043e => "\xcf",
+    0x0000043f => "\xd0",
+    0x00000440 => "\xd2",
+    0x00000441 => "\xd3",
+    0x00000442 => "\xd4",
+    0x00000443 => "\xd5",
+    0x00000444 => "\xc6",
+    0x00000445 => "\xc8",
+    0x00000446 => "\xc3",
+    0x00000447 => "\xde",
+    0x00000448 => "\xdb",
+    0x00000449 => "\xdd",
+    0x0000044a => "\xdf",
+    0x0000044b => "\xd9",
+    0x0000044c => "\xd8",
+    0x0000044d => "\xdc",
+    0x0000044e => "\xc0",
+    0x0000044f => "\xd1",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::KOI_8 - Conversion routines for KOI-8
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for KOI-8.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: Andrey A. Chernov E<lt>address@hidden<gt>
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    C0 |  0000044E | CYRILLIC SMALL LETTER YU
+    C1 |  00000430 | CYRILLIC SMALL LETTER A
+    C2 |  00000431 | CYRILLIC SMALL LETTER BE
+    C3 |  00000446 | CYRILLIC SMALL LETTER TSE
+    C4 |  00000434 | CYRILLIC SMALL LETTER DE
+    C5 |  00000435 | CYRILLIC SMALL LETTER IE
+    C6 |  00000444 | CYRILLIC SMALL LETTER EF
+    C7 |  00000433 | CYRILLIC SMALL LETTER GHE
+    C8 |  00000445 | CYRILLIC SMALL LETTER HA
+    C9 |  00000438 | CYRILLIC SMALL LETTER I
+    CA |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    CB |  0000043A | CYRILLIC SMALL LETTER KA
+    CC |  0000043B | CYRILLIC SMALL LETTER EL
+    CD |  0000043C | CYRILLIC SMALL LETTER EM
+    CE |  0000043D | CYRILLIC SMALL LETTER EN
+    CF |  0000043E | CYRILLIC SMALL LETTER O
+    D0 |  0000043F | CYRILLIC SMALL LETTER PE
+    D1 |  0000044F | CYRILLIC SMALL LETTER YA
+    D2 |  00000440 | CYRILLIC SMALL LETTER ER
+    D3 |  00000441 | CYRILLIC SMALL LETTER ES
+    D4 |  00000442 | CYRILLIC SMALL LETTER TE
+    D5 |  00000443 | CYRILLIC SMALL LETTER U
+    D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    D7 |  00000432 | CYRILLIC SMALL LETTER VE
+    D8 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    D9 |  0000044B | CYRILLIC SMALL LETTER YERU
+    DA |  00000437 | CYRILLIC SMALL LETTER ZE
+    DB |  00000448 | CYRILLIC SMALL LETTER SHA
+    DC |  0000044D | CYRILLIC SMALL LETTER E
+    DD |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    DE |  00000447 | CYRILLIC SMALL LETTER CHE
+    DF |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    E0 |  0000042E | CYRILLIC CAPITAL LETTER YU
+    E1 |  00000410 | CYRILLIC CAPITAL LETTER A
+    E2 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    E3 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    E4 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    E5 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    E6 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    E7 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    E8 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    E9 |  00000418 | CYRILLIC CAPITAL LETTER I
+    EA |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    EB |  0000041A | CYRILLIC CAPITAL LETTER KA
+    EC |  0000041B | CYRILLIC CAPITAL LETTER EL
+    ED |  0000041C | CYRILLIC CAPITAL LETTER EM
+    EE |  0000041D | CYRILLIC CAPITAL LETTER EN
+    EF |  0000041E | CYRILLIC CAPITAL LETTER O
+    F0 |  0000041F | CYRILLIC CAPITAL LETTER PE
+    F1 |  0000042F | CYRILLIC CAPITAL LETTER YA
+    F2 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    F3 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    F4 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    F5 |  00000423 | CYRILLIC CAPITAL LETTER U
+    F6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    F7 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    F8 |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    F9 |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    FA |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    FB |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    FC |  0000042D | CYRILLIC CAPITAL LETTER E
+    FD |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    FE |  00000427 | CYRILLIC CAPITAL LETTER CHE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK.pm      12 Oct 
2011 23:51:47 -0000      1.1
@@ -0,0 +1,888 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: LATIN_GREEK.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for LATIN-GREEK.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::LATIN_GREEK;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x00a3,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0391,
+    0x0392,
+    0x03a8,
+    0x0394,
+    0x0395,
+    0x03a6,
+    0x0393,
+    0x0397,
+    0x0399,
+    0x039e,
+    0x039a,
+    0x039b,
+    0x039c,
+    0x039d,
+    0x039f,
+    0x03a0,
+    0xfffd,
+    0x03a1,
+    0x03a3,
+    0x03a4,
+    0x0398,
+    0x03a9,
+    0x00b7,
+    0x03a7,
+    0x03a5,
+    0x0396,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x00a8,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\xc2\xa3",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\xce\x91",
+    "\xce\x92",
+    "\xce\xa8",
+    "\xce\x94",
+    "\xce\x95",
+    "\xce\xa6",
+    "\xce\x93",
+    "\xce\x97",
+    "\xce\x99",
+    "\xce\x9e",
+    "\xce\x9a",
+    "\xce\x9b",
+    "\xce\x9c",
+    "\xce\x9d",
+    "\xce\x9f",
+    "\xce\xa0",
+    "\xef\xbf\xbd",
+    "\xce\xa1",
+    "\xce\xa3",
+    "\xce\xa4",
+    "\xce\x98",
+    "\xce\xa9",
+    "\xc2\xb7",
+    "\xce\xa7",
+    "\xce\xa5",
+    "\xce\x96",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\xc2\xa8",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007f => "\x7f",
+    0x000000a3 => "\x23",
+    0x000000a8 => "\x7e",
+    0x000000b7 => "\x77",
+    0x00000391 => "\x61",
+    0x00000392 => "\x62",
+    0x00000393 => "\x67",
+    0x00000394 => "\x64",
+    0x00000395 => "\x65",
+    0x00000396 => "\x7a",
+    0x00000397 => "\x68",
+    0x00000398 => "\x75",
+    0x00000399 => "\x69",
+    0x0000039a => "\x6b",
+    0x0000039b => "\x6c",
+    0x0000039c => "\x6d",
+    0x0000039d => "\x6e",
+    0x0000039e => "\x6a",
+    0x0000039f => "\x6f",
+    0x000003a0 => "\x70",
+    0x000003a1 => "\x72",
+    0x000003a3 => "\x73",
+    0x000003a4 => "\x74",
+    0x000003a5 => "\x79",
+    0x000003a6 => "\x66",
+    0x000003a7 => "\x78",
+    0x000003a8 => "\x63",
+    0x000003a9 => "\x76",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::LATIN_GREEK - Conversion routines for LATIN_GREEK
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for LATIN-GREEK.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-19
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  000000A3 | POUND SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    62 |  00000392 | GREEK CAPITAL LETTER BETA
+    63 |  000003A8 | GREEK CAPITAL LETTER PSI
+    64 |  00000394 | GREEK CAPITAL LETTER DELTA
+    65 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    66 |  000003A6 | GREEK CAPITAL LETTER PHI
+    67 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    68 |  00000397 | GREEK CAPITAL LETTER ETA
+    69 |  00000399 | GREEK CAPITAL LETTER IOTA
+    6A |  0000039E | GREEK CAPITAL LETTER XI
+    6B |  0000039A | GREEK CAPITAL LETTER KAPPA
+    6C |  0000039B | GREEK CAPITAL LETTER LAMDA
+    6D |  0000039C | GREEK CAPITAL LETTER MU
+    6E |  0000039D | GREEK CAPITAL LETTER NU
+    6F |  0000039F | GREEK CAPITAL LETTER OMICRON
+    70 |  000003A0 | GREEK CAPITAL LETTER PI
+    72 |  000003A1 | GREEK CAPITAL LETTER RHO
+    73 |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    74 |  000003A4 | GREEK CAPITAL LETTER TAU
+    75 |  00000398 | GREEK CAPITAL LETTER THETA
+    76 |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    77 |  000000B7 | MIDDLE DOT
+    78 |  000003A7 | GREEK CAPITAL LETTER CHI
+    79 |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    7A |  00000396 | GREEK CAPITAL LETTER ZETA
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  000000A8 | DIAERESIS
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK_1.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK_1.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK_1.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/LATIN_GREEK_1.pm    12 Oct 
2011 23:51:47 -0000      1.1
@@ -0,0 +1,890 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: LATIN_GREEK_1.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for LATIN-GREEK-1.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::LATIN_GREEK_1;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x039e,
+    0x0022,
+    0x0393,
+    0x00a4,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x03a8,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x03a0,
+    0x0394,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x03a9,
+    0x0398,
+    0x03a6,
+    0x039b,
+    0x03a3,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x203e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\xce\x9e",
+    "\x22",
+    "\xce\x93",
+    "\xc2\xa4",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\xce\xa8",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\xce\xa0",
+    "\xce\x94",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xce\xa9",
+    "\xce\x98",
+    "\xce\xa6",
+    "\xce\x9b",
+    "\xce\xa3",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\xe2\x80\xbe",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000022 => "\x22",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007f => "\x7f",
+    0x000000a4 => "\x24",
+    0x00000393 => "\x23",
+    0x00000394 => "\x40",
+    0x00000398 => "\x5c",
+    0x0000039b => "\x5e",
+    0x0000039e => "\x21",
+    0x000003a0 => "\x3f",
+    0x000003a3 => "\x5f",
+    0x000003a6 => "\x5d",
+    0x000003a8 => "\x3a",
+    0x000003a9 => "\x5b",
+    0x0000203e => "\x7e",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::LATIN_GREEK_1 - Conversion routines for LATIN_GREEK_1
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for LATIN-GREEK-1.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-27
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  0000039E | GREEK CAPITAL LETTER XI
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    24 |  000000A4 | CURRENCY SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  000003A8 | GREEK CAPITAL LETTER PSI
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  000003A0 | GREEK CAPITAL LETTER PI
+    40 |  00000394 | GREEK CAPITAL LETTER DELTA
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    5C |  00000398 | GREEK CAPITAL LETTER THETA
+    5D |  000003A6 | GREEK CAPITAL LETTER PHI
+    5E |  0000039B | GREEK CAPITAL LETTER LAMDA
+    5F |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000203E | OVERLINE
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACARABIC.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACARABIC.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACARABIC.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACARABIC.pm        12 Oct 
2011 23:51:47 -0000      1.1
@@ -0,0 +1,1094 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACARABIC.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for MACARABIC.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACARABIC;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00a0,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x06ba,
+    0x00ab,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x2026,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00bb,
+    0x00f4,
+    0x00f6,
+    0x00f7,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x066a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x060c,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0660,
+    0x0661,
+    0x0662,
+    0x0663,
+    0x0664,
+    0x0665,
+    0x0666,
+    0x0667,
+    0x0668,
+    0x0669,
+    0xfffd,
+    0x061b,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x061f,
+    0x066d,
+    0x0621,
+    0x0622,
+    0x0623,
+    0x0624,
+    0x0625,
+    0x0626,
+    0x0627,
+    0x0628,
+    0x0629,
+    0x062a,
+    0x062b,
+    0x062c,
+    0x062d,
+    0x062e,
+    0x062f,
+    0x0630,
+    0x0631,
+    0x0632,
+    0x0633,
+    0x0634,
+    0x0635,
+    0x0636,
+    0x0637,
+    0x0638,
+    0x0639,
+    0x063a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0640,
+    0x0641,
+    0x0642,
+    0x0643,
+    0x0644,
+    0x0645,
+    0x0646,
+    0x0647,
+    0x0648,
+    0x0649,
+    0x064a,
+    0x064b,
+    0x064c,
+    0x064d,
+    0x064e,
+    0x064f,
+    0x0650,
+    0x0651,
+    0x0652,
+    0x067e,
+    0x0679,
+    0x0686,
+    0x06d5,
+    0x06a4,
+    0x06af,
+    0x0688,
+    0x0691,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0698,
+    0x06d2,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc2\xa0",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xda\xba",
+    "\xc2\xab",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xe2\x80\xa6",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc2\xbb",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd9\xaa",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\x8c",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd9\xa0",
+    "\xd9\xa1",
+    "\xd9\xa2",
+    "\xd9\xa3",
+    "\xd9\xa4",
+    "\xd9\xa5",
+    "\xd9\xa6",
+    "\xd9\xa7",
+    "\xd9\xa8",
+    "\xd9\xa9",
+    "\xef\xbf\xbd",
+    "\xd8\x9b",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd8\x9f",
+    "\xd9\xad",
+    "\xd8\xa1",
+    "\xd8\xa2",
+    "\xd8\xa3",
+    "\xd8\xa4",
+    "\xd8\xa5",
+    "\xd8\xa6",
+    "\xd8\xa7",
+    "\xd8\xa8",
+    "\xd8\xa9",
+    "\xd8\xaa",
+    "\xd8\xab",
+    "\xd8\xac",
+    "\xd8\xad",
+    "\xd8\xae",
+    "\xd8\xaf",
+    "\xd8\xb0",
+    "\xd8\xb1",
+    "\xd8\xb2",
+    "\xd8\xb3",
+    "\xd8\xb4",
+    "\xd8\xb5",
+    "\xd8\xb6",
+    "\xd8\xb7",
+    "\xd8\xb8",
+    "\xd8\xb9",
+    "\xd8\xba",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd9\x80",
+    "\xd9\x81",
+    "\xd9\x82",
+    "\xd9\x83",
+    "\xd9\x84",
+    "\xd9\x85",
+    "\xd9\x86",
+    "\xd9\x87",
+    "\xd9\x88",
+    "\xd9\x89",
+    "\xd9\x8a",
+    "\xd9\x8b",
+    "\xd9\x8c",
+    "\xd9\x8d",
+    "\xd9\x8e",
+    "\xd9\x8f",
+    "\xd9\x90",
+    "\xd9\x91",
+    "\xd9\x92",
+    "\xd9\xbe",
+    "\xd9\xb9",
+    "\xda\x86",
+    "\xdb\x95",
+    "\xda\xa4",
+    "\xda\xaf",
+    "\xda\x88",
+    "\xda\x91",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xda\x98",
+    "\xdb\x92",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\x81",
+    0x000000ab => "\x8c",
+    0x000000bb => "\x98",
+    0x000000c4 => "\x80",
+    0x000000c7 => "\x82",
+    0x000000c9 => "\x83",
+    0x000000d1 => "\x84",
+    0x000000d6 => "\x85",
+    0x000000dc => "\x86",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e4 => "\x8a",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f1 => "\x96",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\x9b",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x0000060c => "\xac",
+    0x0000061b => "\xbb",
+    0x0000061f => "\xbf",
+    0x00000621 => "\xc1",
+    0x00000622 => "\xc2",
+    0x00000623 => "\xc3",
+    0x00000624 => "\xc4",
+    0x00000625 => "\xc5",
+    0x00000626 => "\xc6",
+    0x00000627 => "\xc7",
+    0x00000628 => "\xc8",
+    0x00000629 => "\xc9",
+    0x0000062a => "\xca",
+    0x0000062b => "\xcb",
+    0x0000062c => "\xcc",
+    0x0000062d => "\xcd",
+    0x0000062e => "\xce",
+    0x0000062f => "\xcf",
+    0x00000630 => "\xd0",
+    0x00000631 => "\xd1",
+    0x00000632 => "\xd2",
+    0x00000633 => "\xd3",
+    0x00000634 => "\xd4",
+    0x00000635 => "\xd5",
+    0x00000636 => "\xd6",
+    0x00000637 => "\xd7",
+    0x00000638 => "\xd8",
+    0x00000639 => "\xd9",
+    0x0000063a => "\xda",
+    0x00000640 => "\xe0",
+    0x00000641 => "\xe1",
+    0x00000642 => "\xe2",
+    0x00000643 => "\xe3",
+    0x00000644 => "\xe4",
+    0x00000645 => "\xe5",
+    0x00000646 => "\xe6",
+    0x00000647 => "\xe7",
+    0x00000648 => "\xe8",
+    0x00000649 => "\xe9",
+    0x0000064a => "\xea",
+    0x0000064b => "\xeb",
+    0x0000064c => "\xec",
+    0x0000064d => "\xed",
+    0x0000064e => "\xee",
+    0x0000064f => "\xef",
+    0x00000650 => "\xf0",
+    0x00000651 => "\xf1",
+    0x00000652 => "\xf2",
+    0x00000660 => "\xb0",
+    0x00000661 => "\xb1",
+    0x00000662 => "\xb2",
+    0x00000663 => "\xb3",
+    0x00000664 => "\xb4",
+    0x00000665 => "\xb5",
+    0x00000666 => "\xb6",
+    0x00000667 => "\xb7",
+    0x00000668 => "\xb8",
+    0x00000669 => "\xb9",
+    0x0000066a => "\xa5",
+    0x0000066d => "\xc0",
+    0x00000679 => "\xf4",
+    0x0000067e => "\xf3",
+    0x00000686 => "\xf5",
+    0x00000688 => "\xf9",
+    0x00000691 => "\xfa",
+    0x00000698 => "\xfe",
+    0x000006a4 => "\xf7",
+    0x000006af => "\xf8",
+    0x000006ba => "\x8b",
+    0x000006d2 => "\xff",
+    0x000006d5 => "\xf6",
+    0x00002026 => "\x93",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACARABIC - Conversion routines for MACARABIC
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACARABIC.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000A0 | NO-BREAK SPACE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000006BA | ARABIC LETTER NOON GHUNNA
+    8C |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  00002026 | HORIZONTAL ELLIPSIS
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F7 | DIVISION SIGN
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A5 |  0000066A | ARABIC PERCENT SIGN
+    AC |  0000060C | ARABIC COMMA
+    B0 |  00000660 | ARABIC-INDIC DIGIT ZERO
+    B1 |  00000661 | ARABIC-INDIC DIGIT ONE
+    B2 |  00000662 | ARABIC-INDIC DIGIT TWO
+    B3 |  00000663 | ARABIC-INDIC DIGIT THREE
+    B4 |  00000664 | ARABIC-INDIC DIGIT FOUR
+    B5 |  00000665 | ARABIC-INDIC DIGIT FIVE
+    B6 |  00000666 | ARABIC-INDIC DIGIT SIX
+    B7 |  00000667 | ARABIC-INDIC DIGIT SEVEN
+    B8 |  00000668 | ARABIC-INDIC DIGIT EIGHT
+    B9 |  00000669 | ARABIC-INDIC DIGIT NINE
+    BB |  0000061B | ARABIC SEMICOLON
+    BF |  0000061F | ARABIC QUESTION MARK
+    C0 |  0000066D | ARABIC FIVE POINTED STAR
+    C1 |  00000621 | ARABIC LETTER HAMZA
+    C2 |  00000622 | ARABIC LETTER ALEF WITH MADDA ABOVE
+    C3 |  00000623 | ARABIC LETTER ALEF WITH HAMZA ABOVE
+    C4 |  00000624 | ARABIC LETTER WAW WITH HAMZA ABOVE
+    C5 |  00000625 | ARABIC LETTER ALEF WITH HAMZA BELOW
+    C6 |  00000626 | ARABIC LETTER YEH WITH HAMZA ABOVE
+    C7 |  00000627 | ARABIC LETTER ALEF
+    C8 |  00000628 | ARABIC LETTER BEH
+    C9 |  00000629 | ARABIC LETTER TEH MARBUTA
+    CA |  0000062A | ARABIC LETTER TEH
+    CB |  0000062B | ARABIC LETTER THEH
+    CC |  0000062C | ARABIC LETTER JEEM
+    CD |  0000062D | ARABIC LETTER HAH
+    CE |  0000062E | ARABIC LETTER KHAH
+    CF |  0000062F | ARABIC LETTER DAL
+    D0 |  00000630 | ARABIC LETTER THAL
+    D1 |  00000631 | ARABIC LETTER REH
+    D2 |  00000632 | ARABIC LETTER ZAIN
+    D3 |  00000633 | ARABIC LETTER SEEN
+    D4 |  00000634 | ARABIC LETTER SHEEN
+    D5 |  00000635 | ARABIC LETTER SAD
+    D6 |  00000636 | ARABIC LETTER DAD
+    D7 |  00000637 | ARABIC LETTER TAH
+    D8 |  00000638 | ARABIC LETTER ZAH
+    D9 |  00000639 | ARABIC LETTER AIN
+    DA |  0000063A | ARABIC LETTER GHAIN
+    E0 |  00000640 | ARABIC TATWEEL
+    E1 |  00000641 | ARABIC LETTER FEH
+    E2 |  00000642 | ARABIC LETTER QAF
+    E3 |  00000643 | ARABIC LETTER KAF
+    E4 |  00000644 | ARABIC LETTER LAM
+    E5 |  00000645 | ARABIC LETTER MEEM
+    E6 |  00000646 | ARABIC LETTER NOON
+    E7 |  00000647 | ARABIC LETTER HEH
+    E8 |  00000648 | ARABIC LETTER WAW
+    E9 |  00000649 | ARABIC LETTER ALEF MAKSURA
+    EA |  0000064A | ARABIC LETTER YEH
+    EB |  0000064B | ARABIC FATHATAN
+    EC |  0000064C | ARABIC DAMMATAN
+    ED |  0000064D | ARABIC KASRATAN
+    EE |  0000064E | ARABIC FATHA
+    EF |  0000064F | ARABIC DAMMA
+    F0 |  00000650 | ARABIC KASRA
+    F1 |  00000651 | ARABIC SHADDA
+    F2 |  00000652 | ARABIC SUKUN
+    F3 |  0000067E | ARABIC LETTER PEH
+    F4 |  00000679 | ARABIC LETTER TTEH
+    F5 |  00000686 | ARABIC LETTER TCHEH
+    F6 |  000006D5 | ARABIC LETTER AE
+    F7 |  000006A4 | ARABIC LETTER VEH
+    F8 |  000006AF | ARABIC LETTER GAF
+    F9 |  00000688 | ARABIC LETTER DDAL
+    FA |  00000691 | ARABIC LETTER RREH
+    FE |  00000698 | ARABIC LETTER JEH
+    FF |  000006D2 | ARABIC LETTER YEH BARREE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCROATIAN.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCROATIAN.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCROATIAN.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCROATIAN.pm      12 Oct 
2011 23:51:47 -0000      1.1
@@ -0,0 +1,1144 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACCROATIAN.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for MACCROATIAN.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACCROATIAN;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x2020,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x00df,
+    0x00ae,
+    0x0160,
+    0x2122,
+    0x00b4,
+    0x00a8,
+    0x2260,
+    0x017d,
+    0x00d8,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x2206,
+    0x00b5,
+    0x2202,
+    0x2211,
+    0x220f,
+    0x0161,
+    0x222b,
+    0x00aa,
+    0x00ba,
+    0x2126,
+    0x017e,
+    0x00f8,
+    0x00bf,
+    0x00a1,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x0106,
+    0x00ab,
+    0x010c,
+    0x2026,
+    0x00a0,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x0152,
+    0x0153,
+    0x0110,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x25ca,
+    0xfffd,
+    0x00a9,
+    0x2044,
+    0x00a4,
+    0x2039,
+    0x203a,
+    0x00c6,
+    0x00bb,
+    0x2013,
+    0x00b7,
+    0x201a,
+    0x201e,
+    0x2030,
+    0x00c2,
+    0x0107,
+    0x00c1,
+    0x010d,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00d3,
+    0x00d4,
+    0x0111,
+    0x00d2,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x0131,
+    0x02c6,
+    0x02dc,
+    0x00af,
+    0x03c0,
+    0x00cb,
+    0x02da,
+    0x00b8,
+    0x00ca,
+    0x00e6,
+    0x02c7,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc5\xa0",
+    "\xe2\x84\xa2",
+    "\xc2\xb4",
+    "\xc2\xa8",
+    "\xe2\x89\xa0",
+    "\xc5\xbd",
+    "\xc3\x98",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xe2\x88\x86",
+    "\xc2\xb5",
+    "\xe2\x88\x82",
+    "\xe2\x88\x91",
+    "\xe2\x88\x8f",
+    "\xc5\xa1",
+    "\xe2\x88\xab",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xe2\x84\xa6",
+    "\xc5\xbe",
+    "\xc3\xb8",
+    "\xc2\xbf",
+    "\xc2\xa1",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xc4\x86",
+    "\xc2\xab",
+    "\xc4\x8c",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xc4\x90",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x97\x8a",
+    "\xef\xbf\xbd",
+    "\xc2\xa9",
+    "\xe2\x81\x84",
+    "\xc2\xa4",
+    "\xe2\x80\xb9",
+    "\xe2\x80\xba",
+    "\xc3\x86",
+    "\xc2\xbb",
+    "\xe2\x80\x93",
+    "\xc2\xb7",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xb0",
+    "\xc3\x82",
+    "\xc4\x87",
+    "\xc3\x81",
+    "\xc4\x8d",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc4\x91",
+    "\xc3\x92",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc4\xb1",
+    "\xcb\x86",
+    "\xcb\x9c",
+    "\xc2\xaf",
+    "\xcf\x80",
+    "\xc3\x8b",
+    "\xcb\x9a",
+    "\xc2\xb8",
+    "\xc3\x8a",
+    "\xc3\xa6",
+    "\xcb\x87",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a1 => "\xc1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xdb",
+    0x000000a7 => "\xa4",
+    0x000000a8 => "\xac",
+    0x000000a9 => "\xd9",
+    0x000000aa => "\xbb",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000af => "\xf8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xab",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000b7 => "\xe1",
+    0x000000b8 => "\xfc",
+    0x000000ba => "\xbc",
+    0x000000bb => "\xdf",
+    0x000000bf => "\xc0",
+    0x000000c0 => "\xcb",
+    0x000000c1 => "\xe7",
+    0x000000c2 => "\xe5",
+    0x000000c3 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c5 => "\x81",
+    0x000000c6 => "\xde",
+    0x000000c7 => "\x82",
+    0x000000c8 => "\xe9",
+    0x000000c9 => "\x83",
+    0x000000ca => "\xfd",
+    0x000000cb => "\xfa",
+    0x000000cc => "\xed",
+    0x000000cd => "\xea",
+    0x000000ce => "\xeb",
+    0x000000cf => "\xec",
+    0x000000d1 => "\x84",
+    0x000000d2 => "\xf1",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xef",
+    0x000000d5 => "\xcd",
+    0x000000d6 => "\x85",
+    0x000000d8 => "\xaf",
+    0x000000d9 => "\xf4",
+    0x000000da => "\xf2",
+    0x000000db => "\xf3",
+    0x000000dc => "\x86",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e6 => "\xfe",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f8 => "\xbf",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x00000106 => "\xc6",
+    0x00000107 => "\xe6",
+    0x0000010c => "\xc8",
+    0x0000010d => "\xe8",
+    0x00000110 => "\xd0",
+    0x00000111 => "\xf0",
+    0x00000131 => "\xf5",
+    0x00000152 => "\xce",
+    0x00000153 => "\xcf",
+    0x00000160 => "\xa9",
+    0x00000161 => "\xb9",
+    0x0000017d => "\xae",
+    0x0000017e => "\xbe",
+    0x00000192 => "\xc4",
+    0x000002c6 => "\xf6",
+    0x000002c7 => "\xff",
+    0x000002da => "\xfb",
+    0x000002dc => "\xf7",
+    0x000003c0 => "\xf9",
+    0x00002013 => "\xe0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201a => "\xe2",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xe3",
+    0x00002020 => "\xa0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002030 => "\xe4",
+    0x00002039 => "\xdc",
+    0x0000203a => "\xdd",
+    0x00002044 => "\xda",
+    0x00002122 => "\xaa",
+    0x00002126 => "\xbd",
+    0x00002202 => "\xb6",
+    0x00002206 => "\xb4",
+    0x0000220f => "\xb8",
+    0x00002211 => "\xb7",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x0000222b => "\xba",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+    0x000025ca => "\xd7",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACCROATIAN - Conversion routines for MACCROATIAN
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACCROATIAN.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  000000B4 | ACUTE ACCENT
+    AC |  000000A8 | DIAERESIS
+    AD |  00002260 | NOT EQUAL TO
+    AE |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    AF |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  00002206 | INCREMENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  00002211 | N-ARY SUMMATION
+    B8 |  0000220F | N-ARY PRODUCT
+    B9 |  00000161 | LATIN SMALL LETTER S WITH CARON
+    BA |  0000222B | INTEGRAL
+    BB |  000000AA | FEMININE ORDINAL INDICATOR
+    BC |  000000BA | MASCULINE ORDINAL INDICATOR
+    BD |  00002126 | OHM SIGN
+    BE |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    BF |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    C0 |  000000BF | INVERTED QUESTION MARK
+    C1 |  000000A1 | INVERTED EXCLAMATION MARK
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    CC |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    CD |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    CE |  00000152 | LATIN CAPITAL LIGATURE OE
+    CF |  00000153 | LATIN SMALL LIGATURE OE
+    D0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  000025CA | LOZENGE
+    D9 |  000000A9 | COPYRIGHT SIGN
+    DA |  00002044 | FRACTION SLASH
+    DB |  000000A4 | CURRENCY SIGN
+    DC |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    DD |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    DE |  000000C6 | LATIN CAPITAL LETTER AE
+    DF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    E0 |  00002013 | EN DASH
+    E1 |  000000B7 | MIDDLE DOT
+    E2 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    E3 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    E4 |  00002030 | PER MILLE SIGN
+    E5 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    E6 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
+    E7 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    E9 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    EA |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    EB |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    EC |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    ED |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    F1 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    F2 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    F3 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    F4 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    F5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    F6 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    F7 |  000002DC | SMALL TILDE
+    F8 |  000000AF | MACRON
+    F9 |  000003C0 | GREEK SMALL LETTER PI
+    FA |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    FB |  000002DA | RING ABOVE
+    FC |  000000B8 | CEDILLA
+    FD |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    FE |  000000E6 | LATIN SMALL LETTER AE
+    FF |  000002C7 | CARON
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCYRILLIC.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCYRILLIC.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCYRILLIC.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACCYRILLIC.pm      12 Oct 
2011 23:51:47 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACCYRILLIC.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for MACCYRILLIC.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACCYRILLIC;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x2020,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x0406,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x0402,
+    0x0452,
+    0x2260,
+    0x0403,
+    0x0453,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x0456,
+    0x00b5,
+    0x2202,
+    0x0408,
+    0x0404,
+    0x0454,
+    0x0407,
+    0x0457,
+    0x0409,
+    0x0459,
+    0x040a,
+    0x045a,
+    0x0458,
+    0x0405,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x040b,
+    0x045b,
+    0x040c,
+    0x045c,
+    0x0455,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x201e,
+    0x040e,
+    0x045e,
+    0x040f,
+    0x045f,
+    0x2116,
+    0x0401,
+    0x0451,
+    0x044f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x00a4,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xd0\x86",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xd0\x82",
+    "\xd1\x92",
+    "\xe2\x89\xa0",
+    "\xd0\x83",
+    "\xd1\x93",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xd1\x96",
+    "\xc2\xb5",
+    "\xe2\x88\x82",
+    "\xd0\x88",
+    "\xd0\x84",
+    "\xd1\x94",
+    "\xd0\x87",
+    "\xd1\x97",
+    "\xd0\x89",
+    "\xd1\x99",
+    "\xd0\x8a",
+    "\xd1\x9a",
+    "\xd1\x98",
+    "\xd0\x85",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xd0\x8b",
+    "\xd1\x9b",
+    "\xd0\x8c",
+    "\xd1\x9c",
+    "\xd1\x95",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x80\x9e",
+    "\xd0\x8e",
+    "\xd1\x9e",
+    "\xd0\x8f",
+    "\xd1\x9f",
+    "\xe2\x84\x96",
+    "\xd0\x81",
+    "\xd1\x91",
+    "\xd1\x8f",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xc2\xa4",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xff",
+    0x000000a7 => "\xa4",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000bb => "\xc8",
+    0x000000f7 => "\xd6",
+    0x00000192 => "\xc4",
+    0x00000401 => "\xdd",
+    0x00000402 => "\xab",
+    0x00000403 => "\xae",
+    0x00000404 => "\xb8",
+    0x00000405 => "\xc1",
+    0x00000406 => "\xa7",
+    0x00000407 => "\xba",
+    0x00000408 => "\xb7",
+    0x00000409 => "\xbc",
+    0x0000040a => "\xbe",
+    0x0000040b => "\xcb",
+    0x0000040c => "\xcd",
+    0x0000040e => "\xd8",
+    0x0000040f => "\xda",
+    0x00000410 => "\x80",
+    0x00000411 => "\x81",
+    0x00000412 => "\x82",
+    0x00000413 => "\x83",
+    0x00000414 => "\x84",
+    0x00000415 => "\x85",
+    0x00000416 => "\x86",
+    0x00000417 => "\x87",
+    0x00000418 => "\x88",
+    0x00000419 => "\x89",
+    0x0000041a => "\x8a",
+    0x0000041b => "\x8b",
+    0x0000041c => "\x8c",
+    0x0000041d => "\x8d",
+    0x0000041e => "\x8e",
+    0x0000041f => "\x8f",
+    0x00000420 => "\x90",
+    0x00000421 => "\x91",
+    0x00000422 => "\x92",
+    0x00000423 => "\x93",
+    0x00000424 => "\x94",
+    0x00000425 => "\x95",
+    0x00000426 => "\x96",
+    0x00000427 => "\x97",
+    0x00000428 => "\x98",
+    0x00000429 => "\x99",
+    0x0000042a => "\x9a",
+    0x0000042b => "\x9b",
+    0x0000042c => "\x9c",
+    0x0000042d => "\x9d",
+    0x0000042e => "\x9e",
+    0x0000042f => "\x9f",
+    0x00000430 => "\xe0",
+    0x00000431 => "\xe1",
+    0x00000432 => "\xe2",
+    0x00000433 => "\xe3",
+    0x00000434 => "\xe4",
+    0x00000435 => "\xe5",
+    0x00000436 => "\xe6",
+    0x00000437 => "\xe7",
+    0x00000438 => "\xe8",
+    0x00000439 => "\xe9",
+    0x0000043a => "\xea",
+    0x0000043b => "\xeb",
+    0x0000043c => "\xec",
+    0x0000043d => "\xed",
+    0x0000043e => "\xee",
+    0x0000043f => "\xef",
+    0x00000440 => "\xf0",
+    0x00000441 => "\xf1",
+    0x00000442 => "\xf2",
+    0x00000443 => "\xf3",
+    0x00000444 => "\xf4",
+    0x00000445 => "\xf5",
+    0x00000446 => "\xf6",
+    0x00000447 => "\xf7",
+    0x00000448 => "\xf8",
+    0x00000449 => "\xf9",
+    0x0000044a => "\xfa",
+    0x0000044b => "\xfb",
+    0x0000044c => "\xfc",
+    0x0000044d => "\xfd",
+    0x0000044e => "\xfe",
+    0x0000044f => "\xdf",
+    0x00000451 => "\xde",
+    0x00000452 => "\xac",
+    0x00000453 => "\xaf",
+    0x00000454 => "\xb9",
+    0x00000455 => "\xcf",
+    0x00000456 => "\xb4",
+    0x00000457 => "\xbb",
+    0x00000458 => "\xc0",
+    0x00000459 => "\xbd",
+    0x0000045a => "\xbf",
+    0x0000045b => "\xcc",
+    0x0000045c => "\xce",
+    0x0000045e => "\xd9",
+    0x0000045f => "\xdb",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xd7",
+    0x00002020 => "\xa0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002116 => "\xdc",
+    0x00002122 => "\xaa",
+    0x00002202 => "\xb6",
+    0x00002206 => "\xc6",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACCYRILLIC - Conversion routines for MACCYRILLIC
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACCYRILLIC.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000410 | CYRILLIC CAPITAL LETTER A
+    81 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    82 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    83 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    84 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    85 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    86 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    87 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    88 |  00000418 | CYRILLIC CAPITAL LETTER I
+    89 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    8A |  0000041A | CYRILLIC CAPITAL LETTER KA
+    8B |  0000041B | CYRILLIC CAPITAL LETTER EL
+    8C |  0000041C | CYRILLIC CAPITAL LETTER EM
+    8D |  0000041D | CYRILLIC CAPITAL LETTER EN
+    8E |  0000041E | CYRILLIC CAPITAL LETTER O
+    8F |  0000041F | CYRILLIC CAPITAL LETTER PE
+    90 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    91 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    92 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    93 |  00000423 | CYRILLIC CAPITAL LETTER U
+    94 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    95 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    96 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    97 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    98 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    99 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    9A |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    9B |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    9C |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    9D |  0000042D | CYRILLIC CAPITAL LETTER E
+    9E |  0000042E | CYRILLIC CAPITAL LETTER YU
+    9F |  0000042F | CYRILLIC CAPITAL LETTER YA
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  00000402 | CYRILLIC CAPITAL LETTER DJE
+    AC |  00000452 | CYRILLIC SMALL LETTER DJE
+    AD |  00002260 | NOT EQUAL TO
+    AE |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    AF |  00000453 | CYRILLIC SMALL LETTER GJE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    B8 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    B9 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    BA |  00000407 | CYRILLIC CAPITAL LETTER YI
+    BB |  00000457 | CYRILLIC SMALL LETTER YI
+    BC |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    BD |  00000459 | CYRILLIC SMALL LETTER LJE
+    BE |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    BF |  0000045A | CYRILLIC SMALL LETTER NJE
+    C0 |  00000458 | CYRILLIC SMALL LETTER JE
+    C1 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  0000040B | CYRILLIC CAPITAL LETTER TSHE
+    CC |  0000045B | CYRILLIC SMALL LETTER TSHE
+    CD |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    CE |  0000045C | CYRILLIC SMALL LETTER KJE
+    CF |  00000455 | CYRILLIC SMALL LETTER DZE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    D8 |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
+    D9 |  0000045E | CYRILLIC SMALL LETTER SHORT U
+    DA |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    DB |  0000045F | CYRILLIC SMALL LETTER DZHE
+    DC |  00002116 | NUMERO SIGN
+    DD |  00000401 | CYRILLIC CAPITAL LETTER IO
+    DE |  00000451 | CYRILLIC SMALL LETTER IO
+    DF |  0000044F | CYRILLIC SMALL LETTER YA
+    E0 |  00000430 | CYRILLIC SMALL LETTER A
+    E1 |  00000431 | CYRILLIC SMALL LETTER BE
+    E2 |  00000432 | CYRILLIC SMALL LETTER VE
+    E3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    E4 |  00000434 | CYRILLIC SMALL LETTER DE
+    E5 |  00000435 | CYRILLIC SMALL LETTER IE
+    E6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    E7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    E8 |  00000438 | CYRILLIC SMALL LETTER I
+    E9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    EA |  0000043A | CYRILLIC SMALL LETTER KA
+    EB |  0000043B | CYRILLIC SMALL LETTER EL
+    EC |  0000043C | CYRILLIC SMALL LETTER EM
+    ED |  0000043D | CYRILLIC SMALL LETTER EN
+    EE |  0000043E | CYRILLIC SMALL LETTER O
+    EF |  0000043F | CYRILLIC SMALL LETTER PE
+    F0 |  00000440 | CYRILLIC SMALL LETTER ER
+    F1 |  00000441 | CYRILLIC SMALL LETTER ES
+    F2 |  00000442 | CYRILLIC SMALL LETTER TE
+    F3 |  00000443 | CYRILLIC SMALL LETTER U
+    F4 |  00000444 | CYRILLIC SMALL LETTER EF
+    F5 |  00000445 | CYRILLIC SMALL LETTER HA
+    F6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    F7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    F8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    F9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    FA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    FB |  0000044B | CYRILLIC SMALL LETTER YERU
+    FC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    FD |  0000044D | CYRILLIC SMALL LETTER E
+    FE |  0000044E | CYRILLIC SMALL LETTER YU
+    FF |  000000A4 | CURRENCY SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACGREEK.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACGREEK.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACGREEK.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACGREEK.pm 12 Oct 2011 
23:51:47 -0000      1.1
@@ -0,0 +1,1144 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACGREEK.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for MACGREEK.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACGREEK;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00b9,
+    0x00b2,
+    0x00c9,
+    0x00b3,
+    0x00d6,
+    0x00dc,
+    0x0385,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x0384,
+    0x00a8,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00a3,
+    0x2122,
+    0x00ee,
+    0x00ef,
+    0x2022,
+    0x00bd,
+    0x2030,
+    0x00f4,
+    0x00f6,
+    0x00a6,
+    0x00ad,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x2020,
+    0x0393,
+    0x0394,
+    0x0398,
+    0x039b,
+    0x039e,
+    0x03a0,
+    0x00df,
+    0x00ae,
+    0x00a9,
+    0x03a3,
+    0x03aa,
+    0x00a7,
+    0x2260,
+    0x00b0,
+    0x0387,
+    0x0391,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x00a5,
+    0x0392,
+    0x0395,
+    0x0396,
+    0x0397,
+    0x0399,
+    0x039a,
+    0x039c,
+    0x03a6,
+    0x03ab,
+    0x03a8,
+    0x03a9,
+    0x03ac,
+    0x039d,
+    0x00ac,
+    0x039f,
+    0x03a1,
+    0x2248,
+    0x03a4,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x03a5,
+    0x03a7,
+    0x0386,
+    0x0388,
+    0x0153,
+    0x2013,
+    0x2015,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x0389,
+    0x038a,
+    0x038c,
+    0x038e,
+    0x03ad,
+    0x03ae,
+    0x03af,
+    0x03cc,
+    0x038f,
+    0x03cd,
+    0x03b1,
+    0x03b2,
+    0x03c8,
+    0x03b4,
+    0x03b5,
+    0x03c6,
+    0x03b3,
+    0x03b7,
+    0x03b9,
+    0x03be,
+    0x03ba,
+    0x03bb,
+    0x03bc,
+    0x03bd,
+    0x03bf,
+    0x03c0,
+    0x03ce,
+    0x03c1,
+    0x03c3,
+    0x03c4,
+    0x03b8,
+    0x03c9,
+    0x03c2,
+    0x03c7,
+    0x03c5,
+    0x03b6,
+    0x03ca,
+    0x03cb,
+    0x0390,
+    0x03b0,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc2\xb9",
+    "\xc2\xb2",
+    "\xc3\x89",
+    "\xc2\xb3",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xce\x85",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xce\x84",
+    "\xc2\xa8",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc2\xa3",
+    "\xe2\x84\xa2",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xe2\x80\xa2",
+    "\xc2\xbd",
+    "\xe2\x80\xb0",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc2\xa6",
+    "\xc2\xad",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xe2\x80\xa0",
+    "\xce\x93",
+    "\xce\x94",
+    "\xce\x98",
+    "\xce\x9b",
+    "\xce\x9e",
+    "\xce\xa0",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xce\xa3",
+    "\xce\xaa",
+    "\xc2\xa7",
+    "\xe2\x89\xa0",
+    "\xc2\xb0",
+    "\xce\x87",
+    "\xce\x91",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa5",
+    "\xce\x92",
+    "\xce\x95",
+    "\xce\x96",
+    "\xce\x97",
+    "\xce\x99",
+    "\xce\x9a",
+    "\xce\x9c",
+    "\xce\xa6",
+    "\xce\xab",
+    "\xce\xa8",
+    "\xce\xa9",
+    "\xce\xac",
+    "\xce\x9d",
+    "\xc2\xac",
+    "\xce\x9f",
+    "\xce\xa1",
+    "\xe2\x89\x88",
+    "\xce\xa4",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xce\xa5",
+    "\xce\xa7",
+    "\xce\x86",
+    "\xce\x88",
+    "\xc5\x93",
+    "\xe2\x80\x93",
+    "\xe2\x80\x95",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xce\x89",
+    "\xce\x8a",
+    "\xce\x8c",
+    "\xce\x8e",
+    "\xce\xad",
+    "\xce\xae",
+    "\xce\xaf",
+    "\xcf\x8c",
+    "\xce\x8f",
+    "\xcf\x8d",
+    "\xce\xb1",
+    "\xce\xb2",
+    "\xcf\x88",
+    "\xce\xb4",
+    "\xce\xb5",
+    "\xcf\x86",
+    "\xce\xb3",
+    "\xce\xb7",
+    "\xce\xb9",
+    "\xce\xbe",
+    "\xce\xba",
+    "\xce\xbb",
+    "\xce\xbc",
+    "\xce\xbd",
+    "\xce\xbf",
+    "\xcf\x80",
+    "\xcf\x8e",
+    "\xcf\x81",
+    "\xcf\x83",
+    "\xcf\x84",
+    "\xce\xb8",
+    "\xcf\x89",
+    "\xcf\x82",
+    "\xcf\x87",
+    "\xcf\x85",
+    "\xce\xb6",
+    "\xcf\x8a",
+    "\xcf\x8b",
+    "\xce\x90",
+    "\xce\xb0",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a3 => "\x92",
+    0x000000a5 => "\xb4",
+    0x000000a6 => "\x9b",
+    0x000000a7 => "\xac",
+    0x000000a8 => "\x8c",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ad => "\x9c",
+    0x000000ae => "\xa8",
+    0x000000b0 => "\xae",
+    0x000000b1 => "\xb1",
+    0x000000b2 => "\x82",
+    0x000000b3 => "\x84",
+    0x000000b9 => "\x81",
+    0x000000bb => "\xc8",
+    0x000000bd => "\x97",
+    0x000000c4 => "\x80",
+    0x000000c9 => "\x83",
+    0x000000d6 => "\x85",
+    0x000000dc => "\x86",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e2 => "\x89",
+    0x000000e4 => "\x8a",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f4 => "\x99",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f9 => "\x9d",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x00000153 => "\xcf",
+    0x00000384 => "\x8b",
+    0x00000385 => "\x87",
+    0x00000386 => "\xcd",
+    0x00000387 => "\xaf",
+    0x00000388 => "\xce",
+    0x00000389 => "\xd7",
+    0x0000038a => "\xd8",
+    0x0000038c => "\xd9",
+    0x0000038e => "\xda",
+    0x0000038f => "\xdf",
+    0x00000390 => "\xfd",
+    0x00000391 => "\xb0",
+    0x00000392 => "\xb5",
+    0x00000393 => "\xa1",
+    0x00000394 => "\xa2",
+    0x00000395 => "\xb6",
+    0x00000396 => "\xb7",
+    0x00000397 => "\xb8",
+    0x00000398 => "\xa3",
+    0x00000399 => "\xb9",
+    0x0000039a => "\xba",
+    0x0000039b => "\xa4",
+    0x0000039c => "\xbb",
+    0x0000039d => "\xc1",
+    0x0000039e => "\xa5",
+    0x0000039f => "\xc3",
+    0x000003a0 => "\xa6",
+    0x000003a1 => "\xc4",
+    0x000003a3 => "\xaa",
+    0x000003a4 => "\xc6",
+    0x000003a5 => "\xcb",
+    0x000003a6 => "\xbc",
+    0x000003a7 => "\xcc",
+    0x000003a8 => "\xbe",
+    0x000003a9 => "\xbf",
+    0x000003aa => "\xab",
+    0x000003ab => "\xbd",
+    0x000003ac => "\xc0",
+    0x000003ad => "\xdb",
+    0x000003ae => "\xdc",
+    0x000003af => "\xdd",
+    0x000003b0 => "\xfe",
+    0x000003b1 => "\xe1",
+    0x000003b2 => "\xe2",
+    0x000003b3 => "\xe7",
+    0x000003b4 => "\xe4",
+    0x000003b5 => "\xe5",
+    0x000003b6 => "\xfa",
+    0x000003b7 => "\xe8",
+    0x000003b8 => "\xf5",
+    0x000003b9 => "\xe9",
+    0x000003ba => "\xeb",
+    0x000003bb => "\xec",
+    0x000003bc => "\xed",
+    0x000003bd => "\xee",
+    0x000003be => "\xea",
+    0x000003bf => "\xef",
+    0x000003c0 => "\xf0",
+    0x000003c1 => "\xf2",
+    0x000003c2 => "\xf7",
+    0x000003c3 => "\xf3",
+    0x000003c4 => "\xf4",
+    0x000003c5 => "\xf9",
+    0x000003c6 => "\xe6",
+    0x000003c7 => "\xf8",
+    0x000003c8 => "\xe3",
+    0x000003c9 => "\xf6",
+    0x000003ca => "\xfb",
+    0x000003cb => "\xfc",
+    0x000003cc => "\xde",
+    0x000003cd => "\xe0",
+    0x000003ce => "\xf1",
+    0x00002013 => "\xd0",
+    0x00002015 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x00002020 => "\xa0",
+    0x00002022 => "\x96",
+    0x00002026 => "\xc9",
+    0x00002030 => "\x98",
+    0x00002122 => "\x93",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACGREEK - Conversion routines for MACGREEK
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACGREEK.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000B9 | SUPERSCRIPT ONE
+    82 |  000000B2 | SUPERSCRIPT TWO
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000B3 | SUPERSCRIPT THREE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  00000385 | GREEK DIALYTIKA TONOS
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  00000384 | GREEK TONOS
+    8C |  000000A8 | DIAERESIS
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000A3 | POUND SIGN
+    93 |  00002122 | TRADE MARK SIGN
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  00002022 | BULLET
+    97 |  000000BD | VULGAR FRACTION ONE HALF
+    98 |  00002030 | PER MILLE SIGN
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000A6 | BROKEN BAR
+    9C |  000000AD | SOFT HYPHEN
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  00002020 | DAGGER
+    A1 |  00000393 | GREEK CAPITAL LETTER GAMMA
+    A2 |  00000394 | GREEK CAPITAL LETTER DELTA
+    A3 |  00000398 | GREEK CAPITAL LETTER THETA
+    A4 |  0000039B | GREEK CAPITAL LETTER LAMDA
+    A5 |  0000039E | GREEK CAPITAL LETTER XI
+    A6 |  000003A0 | GREEK CAPITAL LETTER PI
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  000003A3 | GREEK CAPITAL LETTER SIGMA
+    AB |  000003AA | GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+    AC |  000000A7 | SECTION SIGN
+    AD |  00002260 | NOT EQUAL TO
+    AE |  000000B0 | DEGREE SIGN
+    AF |  00000387 | GREEK ANO TELEIA
+    B0 |  00000391 | GREEK CAPITAL LETTER ALPHA
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  000000A5 | YEN SIGN
+    B5 |  00000392 | GREEK CAPITAL LETTER BETA
+    B6 |  00000395 | GREEK CAPITAL LETTER EPSILON
+    B7 |  00000396 | GREEK CAPITAL LETTER ZETA
+    B8 |  00000397 | GREEK CAPITAL LETTER ETA
+    B9 |  00000399 | GREEK CAPITAL LETTER IOTA
+    BA |  0000039A | GREEK CAPITAL LETTER KAPPA
+    BB |  0000039C | GREEK CAPITAL LETTER MU
+    BC |  000003A6 | GREEK CAPITAL LETTER PHI
+    BD |  000003AB | GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+    BE |  000003A8 | GREEK CAPITAL LETTER PSI
+    BF |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    C0 |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
+    C1 |  0000039D | GREEK CAPITAL LETTER NU
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000039F | GREEK CAPITAL LETTER OMICRON
+    C4 |  000003A1 | GREEK CAPITAL LETTER RHO
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  000003A4 | GREEK CAPITAL LETTER TAU
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000003A5 | GREEK CAPITAL LETTER UPSILON
+    CC |  000003A7 | GREEK CAPITAL LETTER CHI
+    CD |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
+    CE |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
+    CF |  00000153 | LATIN SMALL LIGATURE OE
+    D0 |  00002013 | EN DASH
+    D1 |  00002015 | HORIZONTAL BAR
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
+    D8 |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
+    D9 |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
+    DA |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
+    DB |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
+    DC |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
+    DD |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
+    DE |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
+    DF |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
+    E0 |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
+    E1 |  000003B1 | GREEK SMALL LETTER ALPHA
+    E2 |  000003B2 | GREEK SMALL LETTER BETA
+    E3 |  000003C8 | GREEK SMALL LETTER PSI
+    E4 |  000003B4 | GREEK SMALL LETTER DELTA
+    E5 |  000003B5 | GREEK SMALL LETTER EPSILON
+    E6 |  000003C6 | GREEK SMALL LETTER PHI
+    E7 |  000003B3 | GREEK SMALL LETTER GAMMA
+    E8 |  000003B7 | GREEK SMALL LETTER ETA
+    E9 |  000003B9 | GREEK SMALL LETTER IOTA
+    EA |  000003BE | GREEK SMALL LETTER XI
+    EB |  000003BA | GREEK SMALL LETTER KAPPA
+    EC |  000003BB | GREEK SMALL LETTER LAMDA
+    ED |  000003BC | GREEK SMALL LETTER MU
+    EE |  000003BD | GREEK SMALL LETTER NU
+    EF |  000003BF | GREEK SMALL LETTER OMICRON
+    F0 |  000003C0 | GREEK SMALL LETTER PI
+    F1 |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
+    F2 |  000003C1 | GREEK SMALL LETTER RHO
+    F3 |  000003C3 | GREEK SMALL LETTER SIGMA
+    F4 |  000003C4 | GREEK SMALL LETTER TAU
+    F5 |  000003B8 | GREEK SMALL LETTER THETA
+    F6 |  000003C9 | GREEK SMALL LETTER OMEGA
+    F7 |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
+    F8 |  000003C7 | GREEK SMALL LETTER CHI
+    F9 |  000003C5 | GREEK SMALL LETTER UPSILON
+    FA |  000003B6 | GREEK SMALL LETTER ZETA
+    FB |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
+    FC |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+    FD |  00000390 | GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+    FE |  000003B0 | GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACHEBREW.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACHEBREW.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACHEBREW.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACHEBREW.pm        12 Oct 
2011 23:51:47 -0000      1.1
@@ -0,0 +1,1062 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACHEBREW.pm,v 1.1 2011/10/12 23:51:47 pertusus Exp $
+
+# Conversion routines for MACHEBREW.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACHEBREW;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0xfb1f,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x20aa,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x201e,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x05bc,
+    0xfb4b,
+    0xfb35,
+    0x2026,
+    0x00a0,
+    0x05b8,
+    0x05b7,
+    0x05b5,
+    0x05b6,
+    0x05b4,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0xfb2a,
+    0xfb2b,
+    0x05bf,
+    0x05b0,
+    0x05b2,
+    0x05b1,
+    0x05bb,
+    0x05b9,
+    0xfffd,
+    0x05b3,
+    0x05d0,
+    0x05d1,
+    0x05d2,
+    0x05d3,
+    0x05d4,
+    0x05d5,
+    0x05d6,
+    0x05d7,
+    0x05d8,
+    0x05d9,
+    0x05da,
+    0x05db,
+    0x05dc,
+    0x05dd,
+    0x05de,
+    0x05df,
+    0x05e0,
+    0x05e1,
+    0x05e2,
+    0x05e3,
+    0x05e4,
+    0x05e5,
+    0x05e6,
+    0x05e7,
+    0x05e8,
+    0x05e9,
+    0x05ea,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xef\xac\x9f",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x82\xaa",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x9e",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xd6\xbc",
+    "\xef\xad\x8b",
+    "\xef\xac\xb5",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xd6\xb8",
+    "\xd6\xb7",
+    "\xd6\xb5",
+    "\xd6\xb6",
+    "\xd6\xb4",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xef\xac\xaa",
+    "\xef\xac\xab",
+    "\xd6\xbf",
+    "\xd6\xb0",
+    "\xd6\xb2",
+    "\xd6\xb1",
+    "\xd6\xbb",
+    "\xd6\xb9",
+    "\xef\xbf\xbd",
+    "\xd6\xb3",
+    "\xd7\x90",
+    "\xd7\x91",
+    "\xd7\x92",
+    "\xd7\x93",
+    "\xd7\x94",
+    "\xd7\x95",
+    "\xd7\x96",
+    "\xd7\x97",
+    "\xd7\x98",
+    "\xd7\x99",
+    "\xd7\x9a",
+    "\xd7\x9b",
+    "\xd7\x9c",
+    "\xd7\x9d",
+    "\xd7\x9e",
+    "\xd7\x9f",
+    "\xd7\xa0",
+    "\xd7\xa1",
+    "\xd7\xa2",
+    "\xd7\xa3",
+    "\xd7\xa4",
+    "\xd7\xa5",
+    "\xd7\xa6",
+    "\xd7\xa7",
+    "\xd7\xa8",
+    "\xd7\xa9",
+    "\xd7\xaa",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000c4 => "\x80",
+    0x000000c7 => "\x82",
+    0x000000c9 => "\x83",
+    0x000000d1 => "\x84",
+    0x000000d6 => "\x85",
+    0x000000dc => "\x86",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x000005b0 => "\xd9",
+    0x000005b1 => "\xdb",
+    0x000005b2 => "\xda",
+    0x000005b3 => "\xdf",
+    0x000005b4 => "\xcf",
+    0x000005b5 => "\xcd",
+    0x000005b6 => "\xce",
+    0x000005b7 => "\xcc",
+    0x000005b8 => "\xcb",
+    0x000005b9 => "\xdd",
+    0x000005bb => "\xdc",
+    0x000005bc => "\xc6",
+    0x000005bf => "\xd8",
+    0x000005d0 => "\xe0",
+    0x000005d1 => "\xe1",
+    0x000005d2 => "\xe2",
+    0x000005d3 => "\xe3",
+    0x000005d4 => "\xe4",
+    0x000005d5 => "\xe5",
+    0x000005d6 => "\xe6",
+    0x000005d7 => "\xe7",
+    0x000005d8 => "\xe8",
+    0x000005d9 => "\xe9",
+    0x000005da => "\xea",
+    0x000005db => "\xeb",
+    0x000005dc => "\xec",
+    0x000005dd => "\xed",
+    0x000005de => "\xee",
+    0x000005df => "\xef",
+    0x000005e0 => "\xf0",
+    0x000005e1 => "\xf1",
+    0x000005e2 => "\xf2",
+    0x000005e3 => "\xf3",
+    0x000005e4 => "\xf4",
+    0x000005e5 => "\xf5",
+    0x000005e6 => "\xf6",
+    0x000005e7 => "\xf7",
+    0x000005e8 => "\xf8",
+    0x000005e9 => "\xf9",
+    0x000005ea => "\xfa",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xc1",
+    0x00002026 => "\xc9",
+    0x000020aa => "\xa6",
+    0x0000fb1f => "\x81",
+    0x0000fb2a => "\xd6",
+    0x0000fb2b => "\xd7",
+    0x0000fb35 => "\xc8",
+    0x0000fb4b => "\xc7",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACHEBREW - Conversion routines for MACHEBREW
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACHEBREW.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  0000FB1F | HEBREW LIGATURE YIDDISH YOD YOD PATAH
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A6 |  000020AA | NEW SHEQEL SIGN
+    C1 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    C6 |  000005BC | HEBREW POINT DAGESH OR MAPIQ
+    C7 |  0000FB4B | HEBREW LETTER VAV WITH HOLAM
+    C8 |  0000FB35 | HEBREW LETTER VAV WITH DAGESH
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000005B8 | HEBREW POINT QAMATS
+    CC |  000005B7 | HEBREW POINT PATAH
+    CD |  000005B5 | HEBREW POINT TSERE
+    CE |  000005B6 | HEBREW POINT SEGOL
+    CF |  000005B4 | HEBREW POINT HIRIQ
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  0000FB2A | HEBREW LETTER SHIN WITH SHIN DOT
+    D7 |  0000FB2B | HEBREW LETTER SHIN WITH SIN DOT
+    D8 |  000005BF | HEBREW POINT RAFE
+    D9 |  000005B0 | HEBREW POINT SHEVA
+    DA |  000005B2 | HEBREW POINT HATAF PATAH
+    DB |  000005B1 | HEBREW POINT HATAF SEGOL
+    DC |  000005BB | HEBREW POINT QUBUTS
+    DD |  000005B9 | HEBREW POINT HOLAM
+    DF |  000005B3 | HEBREW POINT HATAF QAMATS
+    E0 |  000005D0 | HEBREW LETTER ALEF
+    E1 |  000005D1 | HEBREW LETTER BET
+    E2 |  000005D2 | HEBREW LETTER GIMEL
+    E3 |  000005D3 | HEBREW LETTER DALET
+    E4 |  000005D4 | HEBREW LETTER HE
+    E5 |  000005D5 | HEBREW LETTER VAV
+    E6 |  000005D6 | HEBREW LETTER ZAYIN
+    E7 |  000005D7 | HEBREW LETTER HET
+    E8 |  000005D8 | HEBREW LETTER TET
+    E9 |  000005D9 | HEBREW LETTER YOD
+    EA |  000005DA | HEBREW LETTER FINAL KAF
+    EB |  000005DB | HEBREW LETTER KAF
+    EC |  000005DC | HEBREW LETTER LAMED
+    ED |  000005DD | HEBREW LETTER FINAL MEM
+    EE |  000005DE | HEBREW LETTER MEM
+    EF |  000005DF | HEBREW LETTER FINAL NUN
+    F0 |  000005E0 | HEBREW LETTER NUN
+    F1 |  000005E1 | HEBREW LETTER SAMEKH
+    F2 |  000005E2 | HEBREW LETTER AYIN
+    F3 |  000005E3 | HEBREW LETTER FINAL PE
+    F4 |  000005E4 | HEBREW LETTER PE
+    F5 |  000005E5 | HEBREW LETTER FINAL TSADI
+    F6 |  000005E6 | HEBREW LETTER TSADI
+    F7 |  000005E7 | HEBREW LETTER QOF
+    F8 |  000005E8 | HEBREW LETTER RESH
+    F9 |  000005E9 | HEBREW LETTER SHIN
+    FA |  000005EA | HEBREW LETTER TAV
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACICELAND.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACICELAND.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACICELAND.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACICELAND.pm       12 Oct 
2011 23:51:48 -0000      1.1
@@ -0,0 +1,1144 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACICELAND.pm,v 1.1 2011/10/12 23:51:48 pertusus Exp $
+
+# Conversion routines for MACICELAND.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACICELAND;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x00dd,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x00df,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x00b4,
+    0x00a8,
+    0x2260,
+    0x00c6,
+    0x00d8,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x00a5,
+    0x00b5,
+    0x2202,
+    0x2211,
+    0x220f,
+    0x03c0,
+    0x222b,
+    0x00aa,
+    0x00ba,
+    0x2126,
+    0x00e6,
+    0x00f8,
+    0x00bf,
+    0x00a1,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x0152,
+    0x0153,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x25ca,
+    0x00ff,
+    0x0178,
+    0x2044,
+    0x00a4,
+    0x00d0,
+    0x00f0,
+    0x00de,
+    0x00fe,
+    0x00fd,
+    0x00b7,
+    0x201a,
+    0x201e,
+    0x2030,
+    0x00c2,
+    0x00ca,
+    0x00c1,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00d3,
+    0x00d4,
+    0xfffd,
+    0x00d2,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x0131,
+    0x02c6,
+    0x02dc,
+    0x00af,
+    0x02d8,
+    0x02d9,
+    0x02da,
+    0x00b8,
+    0x02dd,
+    0x02db,
+    0x02c7,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\x9d",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xc2\xb4",
+    "\xc2\xa8",
+    "\xe2\x89\xa0",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa5",
+    "\xc2\xb5",
+    "\xe2\x88\x82",
+    "\xe2\x88\x91",
+    "\xe2\x88\x8f",
+    "\xcf\x80",
+    "\xe2\x88\xab",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xe2\x84\xa6",
+    "\xc3\xa6",
+    "\xc3\xb8",
+    "\xc2\xbf",
+    "\xc2\xa1",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x97\x8a",
+    "\xc3\xbf",
+    "\xc5\xb8",
+    "\xe2\x81\x84",
+    "\xc2\xa4",
+    "\xc3\x90",
+    "\xc3\xb0",
+    "\xc3\x9e",
+    "\xc3\xbe",
+    "\xc3\xbd",
+    "\xc2\xb7",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xb0",
+    "\xc3\x82",
+    "\xc3\x8a",
+    "\xc3\x81",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xef\xbf\xbd",
+    "\xc3\x92",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc4\xb1",
+    "\xcb\x86",
+    "\xcb\x9c",
+    "\xc2\xaf",
+    "\xcb\x98",
+    "\xcb\x99",
+    "\xcb\x9a",
+    "\xc2\xb8",
+    "\xcb\x9d",
+    "\xcb\x9b",
+    "\xcb\x87",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a1 => "\xc1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xdb",
+    0x000000a5 => "\xb4",
+    0x000000a7 => "\xa4",
+    0x000000a8 => "\xac",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xbb",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000af => "\xf8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xab",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000b7 => "\xe1",
+    0x000000b8 => "\xfc",
+    0x000000ba => "\xbc",
+    0x000000bb => "\xc8",
+    0x000000bf => "\xc0",
+    0x000000c0 => "\xcb",
+    0x000000c1 => "\xe7",
+    0x000000c2 => "\xe5",
+    0x000000c3 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c5 => "\x81",
+    0x000000c6 => "\xae",
+    0x000000c7 => "\x82",
+    0x000000c8 => "\xe9",
+    0x000000c9 => "\x83",
+    0x000000ca => "\xe6",
+    0x000000cb => "\xe8",
+    0x000000cc => "\xed",
+    0x000000cd => "\xea",
+    0x000000ce => "\xeb",
+    0x000000cf => "\xec",
+    0x000000d0 => "\xdc",
+    0x000000d1 => "\x84",
+    0x000000d2 => "\xf1",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xef",
+    0x000000d5 => "\xcd",
+    0x000000d6 => "\x85",
+    0x000000d8 => "\xaf",
+    0x000000d9 => "\xf4",
+    0x000000da => "\xf2",
+    0x000000db => "\xf3",
+    0x000000dc => "\x86",
+    0x000000dd => "\xa0",
+    0x000000de => "\xde",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e6 => "\xbe",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f0 => "\xdd",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f8 => "\xbf",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x000000fd => "\xe0",
+    0x000000fe => "\xdf",
+    0x000000ff => "\xd8",
+    0x00000131 => "\xf5",
+    0x00000152 => "\xce",
+    0x00000153 => "\xcf",
+    0x00000178 => "\xd9",
+    0x00000192 => "\xc4",
+    0x000002c6 => "\xf6",
+    0x000002c7 => "\xff",
+    0x000002d8 => "\xf9",
+    0x000002d9 => "\xfa",
+    0x000002da => "\xfb",
+    0x000002db => "\xfe",
+    0x000002dc => "\xf7",
+    0x000002dd => "\xfd",
+    0x000003c0 => "\xb9",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201a => "\xe2",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xe3",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002030 => "\xe4",
+    0x00002044 => "\xda",
+    0x00002122 => "\xaa",
+    0x00002126 => "\xbd",
+    0x00002202 => "\xb6",
+    0x00002206 => "\xc6",
+    0x0000220f => "\xb8",
+    0x00002211 => "\xb7",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x0000222b => "\xba",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+    0x000025ca => "\xd7",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACICELAND - Conversion routines for MACICELAND
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACICELAND.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  000000B4 | ACUTE ACCENT
+    AC |  000000A8 | DIAERESIS
+    AD |  00002260 | NOT EQUAL TO
+    AE |  000000C6 | LATIN CAPITAL LETTER AE
+    AF |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  000000A5 | YEN SIGN
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  00002211 | N-ARY SUMMATION
+    B8 |  0000220F | N-ARY PRODUCT
+    B9 |  000003C0 | GREEK SMALL LETTER PI
+    BA |  0000222B | INTEGRAL
+    BB |  000000AA | FEMININE ORDINAL INDICATOR
+    BC |  000000BA | MASCULINE ORDINAL INDICATOR
+    BD |  00002126 | OHM SIGN
+    BE |  000000E6 | LATIN SMALL LETTER AE
+    BF |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    C0 |  000000BF | INVERTED QUESTION MARK
+    C1 |  000000A1 | INVERTED EXCLAMATION MARK
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    CC |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    CD |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    CE |  00000152 | LATIN CAPITAL LIGATURE OE
+    CF |  00000153 | LATIN SMALL LIGATURE OE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  000025CA | LOZENGE
+    D8 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    D9 |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    DA |  00002044 | FRACTION SLASH
+    DB |  000000A4 | CURRENCY SIGN
+    DC |  000000D0 | LATIN CAPITAL LETTER ETH
+    DD |  000000F0 | LATIN SMALL LETTER ETH
+    DE |  000000DE | LATIN CAPITAL LETTER THORN
+    DF |  000000FE | LATIN SMALL LETTER THORN
+    E0 |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    E1 |  000000B7 | MIDDLE DOT
+    E2 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    E3 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    E4 |  00002030 | PER MILLE SIGN
+    E5 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    E6 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    E7 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E8 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    E9 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    EA |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    EB |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    EC |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    ED |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F1 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    F2 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    F3 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    F4 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    F5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    F6 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    F7 |  000002DC | SMALL TILDE
+    F8 |  000000AF | MACRON
+    F9 |  000002D8 | BREVE
+    FA |  000002D9 | DOT ABOVE
+    FB |  000002DA | RING ABOVE
+    FC |  000000B8 | CEDILLA
+    FD |  000002DD | DOUBLE ACUTE ACCENT
+    FE |  000002DB | OGONEK
+    FF |  000002C7 | CARON
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACINTOSH.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACINTOSH.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACINTOSH.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACINTOSH.pm        12 Oct 
2011 23:51:48 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACINTOSH.pm,v 1.1 2011/10/12 23:51:48 pertusus Exp $
+
+# Conversion routines for MACINTOSH.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACINTOSH;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x2020,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x00df,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x00b4,
+    0x00a8,
+    0x2260,
+    0x00c6,
+    0x00d8,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x00a5,
+    0x00b5,
+    0x2202,
+    0x2211,
+    0x220f,
+    0x03c0,
+    0x222b,
+    0x00aa,
+    0x00ba,
+    0x03a9,
+    0x00e6,
+    0x00f8,
+    0x00bf,
+    0x00a1,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x0394,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x0152,
+    0x0153,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x25ca,
+    0x00ff,
+    0x0178,
+    0x2044,
+    0x20ac,
+    0x2039,
+    0x203a,
+    0xfb01,
+    0xfb02,
+    0x2021,
+    0x00b7,
+    0x201a,
+    0x201e,
+    0x2030,
+    0x00c2,
+    0x00ca,
+    0x00c1,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00d3,
+    0x00d4,
+    0xe01e,
+    0x00d2,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x0131,
+    0x02c6,
+    0x02dc,
+    0x00af,
+    0x02d8,
+    0x02d9,
+    0x02da,
+    0x00b8,
+    0x02dd,
+    0x02db,
+    0x02c7,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xc2\xb4",
+    "\xc2\xa8",
+    "\xe2\x89\xa0",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa5",
+    "\xc2\xb5",
+    "\xe2\x88\x82",
+    "\xe2\x88\x91",
+    "\xe2\x88\x8f",
+    "\xcf\x80",
+    "\xe2\x88\xab",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xce\xa9",
+    "\xc3\xa6",
+    "\xc3\xb8",
+    "\xc2\xbf",
+    "\xc2\xa1",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xce\x94",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x97\x8a",
+    "\xc3\xbf",
+    "\xc5\xb8",
+    "\xe2\x81\x84",
+    "\xe2\x82\xac",
+    "\xe2\x80\xb9",
+    "\xe2\x80\xba",
+    "\xef\xac\x81",
+    "\xef\xac\x82",
+    "\xe2\x80\xa1",
+    "\xc2\xb7",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xb0",
+    "\xc3\x82",
+    "\xc3\x8a",
+    "\xc3\x81",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xee\x80\x9e",
+    "\xc3\x92",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc4\xb1",
+    "\xcb\x86",
+    "\xcb\x9c",
+    "\xc2\xaf",
+    "\xcb\x98",
+    "\xcb\x99",
+    "\xcb\x9a",
+    "\xc2\xb8",
+    "\xcb\x9d",
+    "\xcb\x9b",
+    "\xcb\x87",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a1 => "\xc1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a5 => "\xb4",
+    0x000000a7 => "\xa4",
+    0x000000a8 => "\xac",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xbb",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000af => "\xf8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xab",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000b7 => "\xe1",
+    0x000000b8 => "\xfc",
+    0x000000ba => "\xbc",
+    0x000000bb => "\xc8",
+    0x000000bf => "\xc0",
+    0x000000c0 => "\xcb",
+    0x000000c1 => "\xe7",
+    0x000000c2 => "\xe5",
+    0x000000c3 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c5 => "\x81",
+    0x000000c6 => "\xae",
+    0x000000c7 => "\x82",
+    0x000000c8 => "\xe9",
+    0x000000c9 => "\x83",
+    0x000000ca => "\xe6",
+    0x000000cb => "\xe8",
+    0x000000cc => "\xed",
+    0x000000cd => "\xea",
+    0x000000ce => "\xeb",
+    0x000000cf => "\xec",
+    0x000000d1 => "\x84",
+    0x000000d2 => "\xf1",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xef",
+    0x000000d5 => "\xcd",
+    0x000000d6 => "\x85",
+    0x000000d8 => "\xaf",
+    0x000000d9 => "\xf4",
+    0x000000da => "\xf2",
+    0x000000db => "\xf3",
+    0x000000dc => "\x86",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e6 => "\xbe",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f8 => "\xbf",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x000000ff => "\xd8",
+    0x00000131 => "\xf5",
+    0x00000152 => "\xce",
+    0x00000153 => "\xcf",
+    0x00000178 => "\xd9",
+    0x00000192 => "\xc4",
+    0x000002c6 => "\xf6",
+    0x000002c7 => "\xff",
+    0x000002d8 => "\xf9",
+    0x000002d9 => "\xfa",
+    0x000002da => "\xfb",
+    0x000002db => "\xfe",
+    0x000002dc => "\xf7",
+    0x000002dd => "\xfd",
+    0x00000394 => "\xc6",
+    0x000003a9 => "\xbd",
+    0x000003c0 => "\xb9",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201a => "\xe2",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xe3",
+    0x00002020 => "\xa0",
+    0x00002021 => "\xe0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002030 => "\xe4",
+    0x00002039 => "\xdc",
+    0x0000203a => "\xdd",
+    0x00002044 => "\xda",
+    0x000020ac => "\xdb",
+    0x00002122 => "\xaa",
+    0x00002202 => "\xb6",
+    0x0000220f => "\xb8",
+    0x00002211 => "\xb7",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x0000222b => "\xba",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+    0x000025ca => "\xd7",
+    0x0000e01e => "\xf0",
+    0x0000fb01 => "\xde",
+    0x0000fb02 => "\xdf",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACINTOSH - Conversion routines for MACINTOSH
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACINTOSH.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: The Unicode Standard ver 1.0, ISBN 0-201-56788-1, Oct 1991
+ alias MAC
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  000000B4 | ACUTE ACCENT
+    AC |  000000A8 | DIAERESIS
+    AD |  00002260 | NOT EQUAL TO
+    AE |  000000C6 | LATIN CAPITAL LETTER AE
+    AF |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  000000A5 | YEN SIGN
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  00002211 | N-ARY SUMMATION
+    B8 |  0000220F | N-ARY PRODUCT
+    B9 |  000003C0 | GREEK SMALL LETTER PI
+    BA |  0000222B | INTEGRAL
+    BB |  000000AA | FEMININE ORDINAL INDICATOR
+    BC |  000000BA | MASCULINE ORDINAL INDICATOR
+    BD |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    BE |  000000E6 | LATIN SMALL LETTER AE
+    BF |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    C0 |  000000BF | INVERTED QUESTION MARK
+    C1 |  000000A1 | INVERTED EXCLAMATION MARK
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00000394 | GREEK CAPITAL LETTER DELTA
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    CC |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    CD |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    CE |  00000152 | LATIN CAPITAL LIGATURE OE
+    CF |  00000153 | LATIN SMALL LIGATURE OE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  000025CA | LOZENGE
+    D8 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    D9 |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    DA |  00002044 | FRACTION SLASH
+    DB |  000020AC | EURO SIGN
+    DC |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    DD |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    DE |  0000FB01 | LATIN SMALL LIGATURE FI
+    DF |  0000FB02 | LATIN SMALL LIGATURE FL
+    E0 |  00002021 | DOUBLE DAGGER
+    E1 |  000000B7 | MIDDLE DOT
+    E2 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    E3 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    E4 |  00002030 | PER MILLE SIGN
+    E5 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    E6 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    E7 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E8 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    E9 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    EA |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    EB |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    EC |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    ED |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F0 |  0000E01E | APPLE LOGO (Macintosh_F0)
+    F1 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    F2 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    F3 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    F4 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    F5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    F6 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    F7 |  000002DC | SMALL TILDE
+    F8 |  000000AF | MACRON
+    F9 |  000002D8 | BREVE
+    FA |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+    FB |  000002DA | RING ABOVE
+    FC |  000000B8 | CEDILLA
+    FD |  000002DD | DOUBLE ACUTE ACCENT
+    FE |  000002DB | OGONEK
+    FF |  000002C7 | CARON (Mandarin Chinese third tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACROMANIA.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACROMANIA.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACROMANIA.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACROMANIA.pm       12 Oct 
2011 23:51:48 -0000      1.1
@@ -0,0 +1,1144 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACROMANIA.pm,v 1.1 2011/10/12 23:51:48 pertusus Exp $
+
+# Conversion routines for MACROMANIA.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACROMANIA;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x2020,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x00df,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x00b4,
+    0x00a8,
+    0x2260,
+    0x0102,
+    0x015e,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x00a5,
+    0x00b5,
+    0x2202,
+    0x2211,
+    0x220f,
+    0x03c0,
+    0x222b,
+    0x00aa,
+    0x00ba,
+    0x2126,
+    0x0103,
+    0x015f,
+    0x00bf,
+    0x00a1,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x0152,
+    0x0153,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x25ca,
+    0x00ff,
+    0x0178,
+    0x2044,
+    0x00a4,
+    0x2039,
+    0x203a,
+    0x0162,
+    0x0163,
+    0x2021,
+    0x00b7,
+    0x201a,
+    0x201e,
+    0x2030,
+    0x00c2,
+    0x00ca,
+    0x00c1,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00d3,
+    0x00d4,
+    0xfffd,
+    0x00d2,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x0131,
+    0x02c6,
+    0x02dc,
+    0x00af,
+    0x02d8,
+    0x02d9,
+    0x02da,
+    0x00b8,
+    0x02dd,
+    0x02db,
+    0x02c7,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xc2\xb4",
+    "\xc2\xa8",
+    "\xe2\x89\xa0",
+    "\xc4\x82",
+    "\xc5\x9e",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa5",
+    "\xc2\xb5",
+    "\xe2\x88\x82",
+    "\xe2\x88\x91",
+    "\xe2\x88\x8f",
+    "\xcf\x80",
+    "\xe2\x88\xab",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xe2\x84\xa6",
+    "\xc4\x83",
+    "\xc5\x9f",
+    "\xc2\xbf",
+    "\xc2\xa1",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x97\x8a",
+    "\xc3\xbf",
+    "\xc5\xb8",
+    "\xe2\x81\x84",
+    "\xc2\xa4",
+    "\xe2\x80\xb9",
+    "\xe2\x80\xba",
+    "\xc5\xa2",
+    "\xc5\xa3",
+    "\xe2\x80\xa1",
+    "\xc2\xb7",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xb0",
+    "\xc3\x82",
+    "\xc3\x8a",
+    "\xc3\x81",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xef\xbf\xbd",
+    "\xc3\x92",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc4\xb1",
+    "\xcb\x86",
+    "\xcb\x9c",
+    "\xc2\xaf",
+    "\xcb\x98",
+    "\xcb\x99",
+    "\xcb\x9a",
+    "\xc2\xb8",
+    "\xcb\x9d",
+    "\xcb\x9b",
+    "\xcb\x87",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a1 => "\xc1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xdb",
+    0x000000a5 => "\xb4",
+    0x000000a7 => "\xa4",
+    0x000000a8 => "\xac",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xbb",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000af => "\xf8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xab",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000b7 => "\xe1",
+    0x000000b8 => "\xfc",
+    0x000000ba => "\xbc",
+    0x000000bb => "\xc8",
+    0x000000bf => "\xc0",
+    0x000000c0 => "\xcb",
+    0x000000c1 => "\xe7",
+    0x000000c2 => "\xe5",
+    0x000000c3 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c5 => "\x81",
+    0x000000c7 => "\x82",
+    0x000000c8 => "\xe9",
+    0x000000c9 => "\x83",
+    0x000000ca => "\xe6",
+    0x000000cb => "\xe8",
+    0x000000cc => "\xed",
+    0x000000cd => "\xea",
+    0x000000ce => "\xeb",
+    0x000000cf => "\xec",
+    0x000000d1 => "\x84",
+    0x000000d2 => "\xf1",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xef",
+    0x000000d5 => "\xcd",
+    0x000000d6 => "\x85",
+    0x000000d9 => "\xf4",
+    0x000000da => "\xf2",
+    0x000000db => "\xf3",
+    0x000000dc => "\x86",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x000000ff => "\xd8",
+    0x00000102 => "\xae",
+    0x00000103 => "\xbe",
+    0x00000131 => "\xf5",
+    0x00000152 => "\xce",
+    0x00000153 => "\xcf",
+    0x0000015e => "\xaf",
+    0x0000015f => "\xbf",
+    0x00000162 => "\xde",
+    0x00000163 => "\xdf",
+    0x00000178 => "\xd9",
+    0x00000192 => "\xc4",
+    0x000002c6 => "\xf6",
+    0x000002c7 => "\xff",
+    0x000002d8 => "\xf9",
+    0x000002d9 => "\xfa",
+    0x000002da => "\xfb",
+    0x000002db => "\xfe",
+    0x000002dc => "\xf7",
+    0x000002dd => "\xfd",
+    0x000003c0 => "\xb9",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201a => "\xe2",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xe3",
+    0x00002020 => "\xa0",
+    0x00002021 => "\xe0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002030 => "\xe4",
+    0x00002039 => "\xdc",
+    0x0000203a => "\xdd",
+    0x00002044 => "\xda",
+    0x00002122 => "\xaa",
+    0x00002126 => "\xbd",
+    0x00002202 => "\xb6",
+    0x00002206 => "\xc6",
+    0x0000220f => "\xb8",
+    0x00002211 => "\xb7",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x0000222b => "\xba",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+    0x000025ca => "\xd7",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACROMANIA - Conversion routines for MACROMANIA
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACROMANIA.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  000000B4 | ACUTE ACCENT
+    AC |  000000A8 | DIAERESIS
+    AD |  00002260 | NOT EQUAL TO
+    AE |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
+    AF |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  000000A5 | YEN SIGN
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  00002211 | N-ARY SUMMATION
+    B8 |  0000220F | N-ARY PRODUCT
+    B9 |  000003C0 | GREEK SMALL LETTER PI
+    BA |  0000222B | INTEGRAL
+    BB |  000000AA | FEMININE ORDINAL INDICATOR
+    BC |  000000BA | MASCULINE ORDINAL INDICATOR
+    BD |  00002126 | OHM SIGN
+    BE |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    BF |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    C0 |  000000BF | INVERTED QUESTION MARK
+    C1 |  000000A1 | INVERTED EXCLAMATION MARK
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    CC |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    CD |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    CE |  00000152 | LATIN CAPITAL LIGATURE OE
+    CF |  00000153 | LATIN SMALL LIGATURE OE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  000025CA | LOZENGE
+    D8 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    D9 |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    DA |  00002044 | FRACTION SLASH
+    DB |  000000A4 | CURRENCY SIGN
+    DC |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    DD |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    DE |  00000162 | LATIN CAPITAL LETTER T WITH CEDILLA
+    DF |  00000163 | LATIN SMALL LETTER T WITH CEDILLA
+    E0 |  00002021 | DOUBLE DAGGER
+    E1 |  000000B7 | MIDDLE DOT
+    E2 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    E3 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    E4 |  00002030 | PER MILLE SIGN
+    E5 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    E6 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    E7 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E8 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    E9 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    EA |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    EB |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    EC |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    ED |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F1 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    F2 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    F3 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    F4 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    F5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    F6 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    F7 |  000002DC | SMALL TILDE
+    F8 |  000000AF | MACRON
+    F9 |  000002D8 | BREVE
+    FA |  000002D9 | DOT ABOVE
+    FB |  000002DA | RING ABOVE
+    FC |  000000B8 | CEDILLA
+    FD |  000002DD | DOUBLE ACUTE ACCENT
+    FE |  000002DB | OGONEK
+    FF |  000002C7 | CARON
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTHAI.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTHAI.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTHAI.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTHAI.pm  12 Oct 2011 
23:51:48 -0000      1.1
@@ -0,0 +1,1134 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACTHAI.pm,v 1.1 2011/10/12 23:51:48 pertusus Exp $
+
+# Conversion routines for MACTHAI.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACTHAI;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0xf88c,
+    0xf88f,
+    0xf892,
+    0xf895,
+    0xf898,
+    0xf88b,
+    0xf88e,
+    0xf891,
+    0xf894,
+    0xf897,
+    0x201c,
+    0x201d,
+    0xf899,
+    0xfffd,
+    0x2022,
+    0xf884,
+    0xf889,
+    0xf885,
+    0xf886,
+    0xf887,
+    0xf888,
+    0xf88a,
+    0xf88d,
+    0xf890,
+    0xf893,
+    0xf896,
+    0x2018,
+    0x2019,
+    0xfffd,
+    0x00a0,
+    0x0e01,
+    0x0e02,
+    0x0e03,
+    0x0e04,
+    0x0e05,
+    0x0e06,
+    0x0e07,
+    0x0e08,
+    0x0e09,
+    0x0e0a,
+    0x0e0b,
+    0x0e0c,
+    0x0e0d,
+    0x0e0e,
+    0x0e0f,
+    0x0e10,
+    0x0e11,
+    0x0e12,
+    0x0e13,
+    0x0e14,
+    0x0e15,
+    0x0e16,
+    0x0e17,
+    0x0e18,
+    0x0e19,
+    0x0e1a,
+    0x0e1b,
+    0x0e1c,
+    0x0e1d,
+    0x0e1e,
+    0x0e1f,
+    0x0e20,
+    0x0e21,
+    0x0e22,
+    0x0e23,
+    0x0e24,
+    0x0e25,
+    0x0e26,
+    0x0e27,
+    0x0e28,
+    0x0e29,
+    0x0e2a,
+    0x0e2b,
+    0x0e2c,
+    0x0e2d,
+    0x0e2e,
+    0x0e2f,
+    0x0e30,
+    0x0e31,
+    0x0e32,
+    0x0e33,
+    0x0e34,
+    0x0e35,
+    0x0e36,
+    0x0e37,
+    0x0e38,
+    0x0e39,
+    0x0e3a,
+    0xfeff,
+    0x200b,
+    0x2013,
+    0x2014,
+    0x0e3f,
+    0x0e40,
+    0x0e41,
+    0x0e42,
+    0x0e43,
+    0x0e44,
+    0x0e45,
+    0x0e46,
+    0x0e47,
+    0x0e48,
+    0x0e49,
+    0x0e4a,
+    0x0e4b,
+    0x0e4c,
+    0x0e4d,
+    0x2122,
+    0x0e4f,
+    0x0e50,
+    0x0e51,
+    0x0e52,
+    0x0e53,
+    0x0e54,
+    0x0e55,
+    0x0e56,
+    0x0e57,
+    0x0e58,
+    0x0e59,
+    0x00ae,
+    0x00a9,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xef\xa2\x8c",
+    "\xef\xa2\x8f",
+    "\xef\xa2\x92",
+    "\xef\xa2\x95",
+    "\xef\xa2\x98",
+    "\xef\xa2\x8b",
+    "\xef\xa2\x8e",
+    "\xef\xa2\x91",
+    "\xef\xa2\x94",
+    "\xef\xa2\x97",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xef\xa2\x99",
+    "\xef\xbf\xbd",
+    "\xe2\x80\xa2",
+    "\xef\xa2\x84",
+    "\xef\xa2\x89",
+    "\xef\xa2\x85",
+    "\xef\xa2\x86",
+    "\xef\xa2\x87",
+    "\xef\xa2\x88",
+    "\xef\xa2\x8a",
+    "\xef\xa2\x8d",
+    "\xef\xa2\x90",
+    "\xef\xa2\x93",
+    "\xef\xa2\x96",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xef\xbf\xbd",
+    "\xc2\xa0",
+    "\xe0\xb8\x81",
+    "\xe0\xb8\x82",
+    "\xe0\xb8\x83",
+    "\xe0\xb8\x84",
+    "\xe0\xb8\x85",
+    "\xe0\xb8\x86",
+    "\xe0\xb8\x87",
+    "\xe0\xb8\x88",
+    "\xe0\xb8\x89",
+    "\xe0\xb8\x8a",
+    "\xe0\xb8\x8b",
+    "\xe0\xb8\x8c",
+    "\xe0\xb8\x8d",
+    "\xe0\xb8\x8e",
+    "\xe0\xb8\x8f",
+    "\xe0\xb8\x90",
+    "\xe0\xb8\x91",
+    "\xe0\xb8\x92",
+    "\xe0\xb8\x93",
+    "\xe0\xb8\x94",
+    "\xe0\xb8\x95",
+    "\xe0\xb8\x96",
+    "\xe0\xb8\x97",
+    "\xe0\xb8\x98",
+    "\xe0\xb8\x99",
+    "\xe0\xb8\x9a",
+    "\xe0\xb8\x9b",
+    "\xe0\xb8\x9c",
+    "\xe0\xb8\x9d",
+    "\xe0\xb8\x9e",
+    "\xe0\xb8\x9f",
+    "\xe0\xb8\xa0",
+    "\xe0\xb8\xa1",
+    "\xe0\xb8\xa2",
+    "\xe0\xb8\xa3",
+    "\xe0\xb8\xa4",
+    "\xe0\xb8\xa5",
+    "\xe0\xb8\xa6",
+    "\xe0\xb8\xa7",
+    "\xe0\xb8\xa8",
+    "\xe0\xb8\xa9",
+    "\xe0\xb8\xaa",
+    "\xe0\xb8\xab",
+    "\xe0\xb8\xac",
+    "\xe0\xb8\xad",
+    "\xe0\xb8\xae",
+    "\xe0\xb8\xaf",
+    "\xe0\xb8\xb0",
+    "\xe0\xb8\xb1",
+    "\xe0\xb8\xb2",
+    "\xe0\xb8\xb3",
+    "\xe0\xb8\xb4",
+    "\xe0\xb8\xb5",
+    "\xe0\xb8\xb6",
+    "\xe0\xb8\xb7",
+    "\xe0\xb8\xb8",
+    "\xe0\xb8\xb9",
+    "\xe0\xb8\xba",
+    "\xef\xbb\xbf",
+    "\xe2\x80\x8b",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe0\xb8\xbf",
+    "\xe0\xb9\x80",
+    "\xe0\xb9\x81",
+    "\xe0\xb9\x82",
+    "\xe0\xb9\x83",
+    "\xe0\xb9\x84",
+    "\xe0\xb9\x85",
+    "\xe0\xb9\x86",
+    "\xe0\xb9\x87",
+    "\xe0\xb9\x88",
+    "\xe0\xb9\x89",
+    "\xe0\xb9\x8a",
+    "\xe0\xb9\x8b",
+    "\xe0\xb9\x8c",
+    "\xe0\xb9\x8d",
+    "\xe2\x84\xa2",
+    "\xe0\xb9\x8f",
+    "\xe0\xb9\x90",
+    "\xe0\xb9\x91",
+    "\xe0\xb9\x92",
+    "\xe0\xb9\x93",
+    "\xe0\xb9\x94",
+    "\xe0\xb9\x95",
+    "\xe0\xb9\x96",
+    "\xe0\xb9\x97",
+    "\xe0\xb9\x98",
+    "\xe0\xb9\x99",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a9 => "\xfb",
+    0x000000ab => "\x80",
+    0x000000ae => "\xfa",
+    0x000000bb => "\x81",
+    0x00000e01 => "\xa1",
+    0x00000e02 => "\xa2",
+    0x00000e03 => "\xa3",
+    0x00000e04 => "\xa4",
+    0x00000e05 => "\xa5",
+    0x00000e06 => "\xa6",
+    0x00000e07 => "\xa7",
+    0x00000e08 => "\xa8",
+    0x00000e09 => "\xa9",
+    0x00000e0a => "\xaa",
+    0x00000e0b => "\xab",
+    0x00000e0c => "\xac",
+    0x00000e0d => "\xad",
+    0x00000e0e => "\xae",
+    0x00000e0f => "\xaf",
+    0x00000e10 => "\xb0",
+    0x00000e11 => "\xb1",
+    0x00000e12 => "\xb2",
+    0x00000e13 => "\xb3",
+    0x00000e14 => "\xb4",
+    0x00000e15 => "\xb5",
+    0x00000e16 => "\xb6",
+    0x00000e17 => "\xb7",
+    0x00000e18 => "\xb8",
+    0x00000e19 => "\xb9",
+    0x00000e1a => "\xba",
+    0x00000e1b => "\xbb",
+    0x00000e1c => "\xbc",
+    0x00000e1d => "\xbd",
+    0x00000e1e => "\xbe",
+    0x00000e1f => "\xbf",
+    0x00000e20 => "\xc0",
+    0x00000e21 => "\xc1",
+    0x00000e22 => "\xc2",
+    0x00000e23 => "\xc3",
+    0x00000e24 => "\xc4",
+    0x00000e25 => "\xc5",
+    0x00000e26 => "\xc6",
+    0x00000e27 => "\xc7",
+    0x00000e28 => "\xc8",
+    0x00000e29 => "\xc9",
+    0x00000e2a => "\xca",
+    0x00000e2b => "\xcb",
+    0x00000e2c => "\xcc",
+    0x00000e2d => "\xcd",
+    0x00000e2e => "\xce",
+    0x00000e2f => "\xcf",
+    0x00000e30 => "\xd0",
+    0x00000e31 => "\xd1",
+    0x00000e32 => "\xd2",
+    0x00000e33 => "\xd3",
+    0x00000e34 => "\xd4",
+    0x00000e35 => "\xd5",
+    0x00000e36 => "\xd6",
+    0x00000e37 => "\xd7",
+    0x00000e38 => "\xd8",
+    0x00000e39 => "\xd9",
+    0x00000e3a => "\xda",
+    0x00000e3f => "\xdf",
+    0x00000e40 => "\xe0",
+    0x00000e41 => "\xe1",
+    0x00000e42 => "\xe2",
+    0x00000e43 => "\xe3",
+    0x00000e44 => "\xe4",
+    0x00000e45 => "\xe5",
+    0x00000e46 => "\xe6",
+    0x00000e47 => "\xe7",
+    0x00000e48 => "\xe8",
+    0x00000e49 => "\xe9",
+    0x00000e4a => "\xea",
+    0x00000e4b => "\xeb",
+    0x00000e4c => "\xec",
+    0x00000e4d => "\xed",
+    0x00000e4f => "\xef",
+    0x00000e50 => "\xf0",
+    0x00000e51 => "\xf1",
+    0x00000e52 => "\xf2",
+    0x00000e53 => "\xf3",
+    0x00000e54 => "\xf4",
+    0x00000e55 => "\xf5",
+    0x00000e56 => "\xf6",
+    0x00000e57 => "\xf7",
+    0x00000e58 => "\xf8",
+    0x00000e59 => "\xf9",
+    0x0000200b => "\xdc",
+    0x00002013 => "\xdd",
+    0x00002014 => "\xde",
+    0x00002018 => "\x9d",
+    0x00002019 => "\x9e",
+    0x0000201c => "\x8d",
+    0x0000201d => "\x8e",
+    0x00002022 => "\x91",
+    0x00002026 => "\x82",
+    0x00002122 => "\xee",
+    0x0000f884 => "\x92",
+    0x0000f885 => "\x94",
+    0x0000f886 => "\x95",
+    0x0000f887 => "\x96",
+    0x0000f888 => "\x97",
+    0x0000f889 => "\x93",
+    0x0000f88a => "\x98",
+    0x0000f88b => "\x88",
+    0x0000f88c => "\x83",
+    0x0000f88d => "\x99",
+    0x0000f88e => "\x89",
+    0x0000f88f => "\x84",
+    0x0000f890 => "\x9a",
+    0x0000f891 => "\x8a",
+    0x0000f892 => "\x85",
+    0x0000f893 => "\x9b",
+    0x0000f894 => "\x8b",
+    0x0000f895 => "\x86",
+    0x0000f896 => "\x9c",
+    0x0000f897 => "\x8c",
+    0x0000f898 => "\x87",
+    0x0000f899 => "\x8f",
+    0x0000feff => "\xdb",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACTHAI - Conversion routines for MACTHAI
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACTHAI.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    81 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    82 |  00002026 | HORIZONTAL ELLIPSIS
+    83 |  0000F88C | E<lt>CJKE<gt>
+    84 |  0000F88F | E<lt>CJKE<gt>
+    85 |  0000F892 | E<lt>CJKE<gt>
+    86 |  0000F895 | E<lt>CJKE<gt>
+    87 |  0000F898 | E<lt>CJKE<gt>
+    88 |  0000F88B | E<lt>CJKE<gt>
+    89 |  0000F88E | E<lt>CJKE<gt>
+    8A |  0000F891 | E<lt>CJKE<gt>
+    8B |  0000F894 | E<lt>CJKE<gt>
+    8C |  0000F897 | E<lt>CJKE<gt>
+    8D |  0000201C | LEFT DOUBLE QUOTATION MARK
+    8E |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    8F |  0000F899 | E<lt>CJKE<gt>
+    91 |  00002022 | BULLET
+    92 |  0000F884 | E<lt>CJKE<gt>
+    93 |  0000F889 | E<lt>CJKE<gt>
+    94 |  0000F885 | E<lt>CJKE<gt>
+    95 |  0000F886 | E<lt>CJKE<gt>
+    96 |  0000F887 | E<lt>CJKE<gt>
+    97 |  0000F888 | E<lt>CJKE<gt>
+    98 |  0000F88A | E<lt>CJKE<gt>
+    99 |  0000F88D | E<lt>CJKE<gt>
+    9A |  0000F890 | E<lt>CJKE<gt>
+    9B |  0000F893 | E<lt>CJKE<gt>
+    9C |  0000F896 | E<lt>CJKE<gt>
+    9D |  00002018 | LEFT SINGLE QUOTATION MARK
+    9E |  00002019 | RIGHT SINGLE QUOTATION MARK
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  00000E01 | THAI CHARACTER KO KAI
+    A2 |  00000E02 | THAI CHARACTER KHO KHAI
+    A3 |  00000E03 | THAI CHARACTER KHO KHUAT
+    A4 |  00000E04 | THAI CHARACTER KHO KHWAI
+    A5 |  00000E05 | THAI CHARACTER KHO KHON
+    A6 |  00000E06 | THAI CHARACTER KHO RAKHANG
+    A7 |  00000E07 | THAI CHARACTER NGO NGU
+    A8 |  00000E08 | THAI CHARACTER CHO CHAN
+    A9 |  00000E09 | THAI CHARACTER CHO CHING
+    AA |  00000E0A | THAI CHARACTER CHO CHANG
+    AB |  00000E0B | THAI CHARACTER SO SO
+    AC |  00000E0C | THAI CHARACTER CHO CHOE
+    AD |  00000E0D | THAI CHARACTER YO YING
+    AE |  00000E0E | THAI CHARACTER DO CHADA
+    AF |  00000E0F | THAI CHARACTER TO PATAK
+    B0 |  00000E10 | THAI CHARACTER THO THAN
+    B1 |  00000E11 | THAI CHARACTER THO NANGMONTHO
+    B2 |  00000E12 | THAI CHARACTER THO PHUTHAO
+    B3 |  00000E13 | THAI CHARACTER NO NEN
+    B4 |  00000E14 | THAI CHARACTER DO DEK
+    B5 |  00000E15 | THAI CHARACTER TO TAO
+    B6 |  00000E16 | THAI CHARACTER THO THUNG
+    B7 |  00000E17 | THAI CHARACTER THO THAHAN
+    B8 |  00000E18 | THAI CHARACTER THO THONG
+    B9 |  00000E19 | THAI CHARACTER NO NU
+    BA |  00000E1A | THAI CHARACTER BO BAIMAI
+    BB |  00000E1B | THAI CHARACTER PO PLA
+    BC |  00000E1C | THAI CHARACTER PHO PHUNG
+    BD |  00000E1D | THAI CHARACTER FO FA
+    BE |  00000E1E | THAI CHARACTER PHO PHAN
+    BF |  00000E1F | THAI CHARACTER FO FAN
+    C0 |  00000E20 | THAI CHARACTER PHO SAMPHAO
+    C1 |  00000E21 | THAI CHARACTER MO MA
+    C2 |  00000E22 | THAI CHARACTER YO YAK
+    C3 |  00000E23 | THAI CHARACTER RO RUA
+    C4 |  00000E24 | THAI CHARACTER RU
+    C5 |  00000E25 | THAI CHARACTER LO LING
+    C6 |  00000E26 | THAI CHARACTER LU
+    C7 |  00000E27 | THAI CHARACTER WO WAEN
+    C8 |  00000E28 | THAI CHARACTER SO SALA
+    C9 |  00000E29 | THAI CHARACTER SO RUSI
+    CA |  00000E2A | THAI CHARACTER SO SUA
+    CB |  00000E2B | THAI CHARACTER HO HIP
+    CC |  00000E2C | THAI CHARACTER LO CHULA
+    CD |  00000E2D | THAI CHARACTER O ANG
+    CE |  00000E2E | THAI CHARACTER HO NOKHUK
+    CF |  00000E2F | THAI CHARACTER PAIYANNOI
+    D0 |  00000E30 | THAI CHARACTER SARA A
+    D1 |  00000E31 | THAI CHARACTER MAI HAN-AKAT
+    D2 |  00000E32 | THAI CHARACTER SARA AA
+    D3 |  00000E33 | THAI CHARACTER SARA AM
+    D4 |  00000E34 | THAI CHARACTER SARA I
+    D5 |  00000E35 | THAI CHARACTER SARA II
+    D6 |  00000E36 | THAI CHARACTER SARA UE
+    D7 |  00000E37 | THAI CHARACTER SARA UEE
+    D8 |  00000E38 | THAI CHARACTER SARA U
+    D9 |  00000E39 | THAI CHARACTER SARA UU
+    DA |  00000E3A | THAI CHARACTER PHINTHU
+    DB |  0000FEFF | ZERO WIDTH NO-BREAK SPACE
+    DC |  0000200B | ZERO WIDTH SPACE
+    DD |  00002013 | EN DASH
+    DE |  00002014 | EM DASH
+    DF |  00000E3F | THAI CURRENCY SYMBOL BAHT
+    E0 |  00000E40 | THAI CHARACTER SARA E
+    E1 |  00000E41 | THAI CHARACTER SARA AE
+    E2 |  00000E42 | THAI CHARACTER SARA O
+    E3 |  00000E43 | THAI CHARACTER SARA AI MAIMUAN
+    E4 |  00000E44 | THAI CHARACTER SARA AI MAIMALAI
+    E5 |  00000E45 | THAI CHARACTER LAKKHANGYAO
+    E6 |  00000E46 | THAI CHARACTER MAIYAMOK
+    E7 |  00000E47 | THAI CHARACTER MAITAIKHU
+    E8 |  00000E48 | THAI CHARACTER MAI EK
+    E9 |  00000E49 | THAI CHARACTER MAI THO
+    EA |  00000E4A | THAI CHARACTER MAI TRI
+    EB |  00000E4B | THAI CHARACTER MAI CHATTAWA
+    EC |  00000E4C | THAI CHARACTER THANTHAKHAT
+    ED |  00000E4D | THAI CHARACTER NIKHAHIT
+    EE |  00002122 | TRADE MARK SIGN
+    EF |  00000E4F | THAI CHARACTER FONGMAN
+    F0 |  00000E50 | THAI DIGIT ZERO
+    F1 |  00000E51 | THAI DIGIT ONE
+    F2 |  00000E52 | THAI DIGIT TWO
+    F3 |  00000E53 | THAI DIGIT THREE
+    F4 |  00000E54 | THAI DIGIT FOUR
+    F5 |  00000E55 | THAI DIGIT FIVE
+    F6 |  00000E56 | THAI DIGIT SIX
+    F7 |  00000E57 | THAI DIGIT SEVEN
+    F8 |  00000E58 | THAI DIGIT EIGHT
+    F9 |  00000E59 | THAI DIGIT NINE
+    FA |  000000AE | REGISTERED SIGN
+    FB |  000000A9 | COPYRIGHT SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTURKISH.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTURKISH.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTURKISH.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACTURKISH.pm       12 Oct 
2011 23:51:48 -0000      1.1
@@ -0,0 +1,1142 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACTURKISH.pm,v 1.1 2011/10/12 23:51:48 pertusus Exp $
+
+# Conversion routines for MACTURKISH.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACTURKISH;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x2020,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x00df,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x00b4,
+    0x00a8,
+    0x2260,
+    0x00c6,
+    0x00d8,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x00a5,
+    0x00b5,
+    0x2202,
+    0x2211,
+    0x220f,
+    0x03c0,
+    0x222b,
+    0x00aa,
+    0x00ba,
+    0x2126,
+    0x00e6,
+    0x00f8,
+    0x00bf,
+    0x00a1,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x0152,
+    0x0153,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x25ca,
+    0x00ff,
+    0x0178,
+    0x011e,
+    0x011f,
+    0x0130,
+    0x0131,
+    0x015e,
+    0x015f,
+    0x2021,
+    0x00b7,
+    0x201a,
+    0x201e,
+    0x2030,
+    0x00c2,
+    0x00ca,
+    0x00c1,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00d3,
+    0x00d4,
+    0xfffd,
+    0x00d2,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0xfffd,
+    0x02c6,
+    0x02dc,
+    0x00af,
+    0x02d8,
+    0x02d9,
+    0x02da,
+    0x00b8,
+    0x02dd,
+    0x02db,
+    0x02c7,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xc2\xb4",
+    "\xc2\xa8",
+    "\xe2\x89\xa0",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa5",
+    "\xc2\xb5",
+    "\xe2\x88\x82",
+    "\xe2\x88\x91",
+    "\xe2\x88\x8f",
+    "\xcf\x80",
+    "\xe2\x88\xab",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xe2\x84\xa6",
+    "\xc3\xa6",
+    "\xc3\xb8",
+    "\xc2\xbf",
+    "\xc2\xa1",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x97\x8a",
+    "\xc3\xbf",
+    "\xc5\xb8",
+    "\xc4\x9e",
+    "\xc4\x9f",
+    "\xc4\xb0",
+    "\xc4\xb1",
+    "\xc5\x9e",
+    "\xc5\x9f",
+    "\xe2\x80\xa1",
+    "\xc2\xb7",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xb0",
+    "\xc3\x82",
+    "\xc3\x8a",
+    "\xc3\x81",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xef\xbf\xbd",
+    "\xc3\x92",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xef\xbf\xbd",
+    "\xcb\x86",
+    "\xcb\x9c",
+    "\xc2\xaf",
+    "\xcb\x98",
+    "\xcb\x99",
+    "\xcb\x9a",
+    "\xc2\xb8",
+    "\xcb\x9d",
+    "\xcb\x9b",
+    "\xcb\x87",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a1 => "\xc1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a5 => "\xb4",
+    0x000000a7 => "\xa4",
+    0x000000a8 => "\xac",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xbb",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000af => "\xf8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xab",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000b7 => "\xe1",
+    0x000000b8 => "\xfc",
+    0x000000ba => "\xbc",
+    0x000000bb => "\xc8",
+    0x000000bf => "\xc0",
+    0x000000c0 => "\xcb",
+    0x000000c1 => "\xe7",
+    0x000000c2 => "\xe5",
+    0x000000c3 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c5 => "\x81",
+    0x000000c6 => "\xae",
+    0x000000c7 => "\x82",
+    0x000000c8 => "\xe9",
+    0x000000c9 => "\x83",
+    0x000000ca => "\xe6",
+    0x000000cb => "\xe8",
+    0x000000cc => "\xed",
+    0x000000cd => "\xea",
+    0x000000ce => "\xeb",
+    0x000000cf => "\xec",
+    0x000000d1 => "\x84",
+    0x000000d2 => "\xf1",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xef",
+    0x000000d5 => "\xcd",
+    0x000000d6 => "\x85",
+    0x000000d8 => "\xaf",
+    0x000000d9 => "\xf4",
+    0x000000da => "\xf2",
+    0x000000db => "\xf3",
+    0x000000dc => "\x86",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e6 => "\xbe",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f8 => "\xbf",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x000000ff => "\xd8",
+    0x0000011e => "\xda",
+    0x0000011f => "\xdb",
+    0x00000130 => "\xdc",
+    0x00000131 => "\xdd",
+    0x00000152 => "\xce",
+    0x00000153 => "\xcf",
+    0x0000015e => "\xde",
+    0x0000015f => "\xdf",
+    0x00000178 => "\xd9",
+    0x00000192 => "\xc4",
+    0x000002c6 => "\xf6",
+    0x000002c7 => "\xff",
+    0x000002d8 => "\xf9",
+    0x000002d9 => "\xfa",
+    0x000002da => "\xfb",
+    0x000002db => "\xfe",
+    0x000002dc => "\xf7",
+    0x000002dd => "\xfd",
+    0x000003c0 => "\xb9",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201a => "\xe2",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xe3",
+    0x00002020 => "\xa0",
+    0x00002021 => "\xe0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002030 => "\xe4",
+    0x00002122 => "\xaa",
+    0x00002126 => "\xbd",
+    0x00002202 => "\xb6",
+    0x00002206 => "\xc6",
+    0x0000220f => "\xb8",
+    0x00002211 => "\xb7",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x0000222b => "\xba",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+    0x000025ca => "\xd7",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACTURKISH - Conversion routines for MACTURKISH
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACTURKISH.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  000000B4 | ACUTE ACCENT
+    AC |  000000A8 | DIAERESIS
+    AD |  00002260 | NOT EQUAL TO
+    AE |  000000C6 | LATIN CAPITAL LETTER AE
+    AF |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  000000A5 | YEN SIGN
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  00002211 | N-ARY SUMMATION
+    B8 |  0000220F | N-ARY PRODUCT
+    B9 |  000003C0 | GREEK SMALL LETTER PI
+    BA |  0000222B | INTEGRAL
+    BB |  000000AA | FEMININE ORDINAL INDICATOR
+    BC |  000000BA | MASCULINE ORDINAL INDICATOR
+    BD |  00002126 | OHM SIGN
+    BE |  000000E6 | LATIN SMALL LETTER AE
+    BF |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    C0 |  000000BF | INVERTED QUESTION MARK
+    C1 |  000000A1 | INVERTED EXCLAMATION MARK
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    CC |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    CD |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    CE |  00000152 | LATIN CAPITAL LIGATURE OE
+    CF |  00000153 | LATIN SMALL LIGATURE OE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  000025CA | LOZENGE
+    D8 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    D9 |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    DA |  0000011E | LATIN CAPITAL LETTER G WITH BREVE
+    DB |  0000011F | LATIN SMALL LETTER G WITH BREVE
+    DC |  00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
+    DD |  00000131 | LATIN SMALL LETTER DOTLESS I
+    DE |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
+    DF |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
+    E0 |  00002021 | DOUBLE DAGGER
+    E1 |  000000B7 | MIDDLE DOT
+    E2 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    E3 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    E4 |  00002030 | PER MILLE SIGN
+    E5 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    E6 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    E7 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E8 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    E9 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    EA |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    EB |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    EC |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    ED |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F1 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    F2 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    F3 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    F4 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    F6 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    F7 |  000002DC | SMALL TILDE
+    F8 |  000000AF | MACRON
+    F9 |  000002D8 | BREVE
+    FA |  000002D9 | DOT ABOVE
+    FB |  000002DA | RING ABOVE
+    FC |  000000B8 | CEDILLA
+    FD |  000002DD | DOUBLE ACUTE ACCENT
+    FE |  000002DB | OGONEK
+    FF |  000002C7 | CARON
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACUKRAINE.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MACUKRAINE.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MACUKRAINE.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MACUKRAINE.pm       12 Oct 
2011 23:51:48 -0000      1.1
@@ -0,0 +1,1146 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MACUKRAINE.pm,v 1.1 2011/10/12 23:51:48 pertusus Exp $
+
+# Conversion routines for MACUKRAINE.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MACUKRAINE;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x2020,
+    0x00b0,
+    0x0490,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x0406,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x0402,
+    0x0452,
+    0x2260,
+    0x0403,
+    0x0453,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x0456,
+    0x00b5,
+    0x0491,
+    0x0408,
+    0x0404,
+    0x0454,
+    0x0407,
+    0x0457,
+    0x0409,
+    0x0459,
+    0x040a,
+    0x045a,
+    0x0458,
+    0x0405,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x040b,
+    0x045b,
+    0x040c,
+    0x045c,
+    0x0455,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x201e,
+    0x040e,
+    0x045e,
+    0x040f,
+    0x045f,
+    0x2116,
+    0x0401,
+    0x0451,
+    0x044f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x00a4,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xd2\x90",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xd0\x86",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xd0\x82",
+    "\xd1\x92",
+    "\xe2\x89\xa0",
+    "\xd0\x83",
+    "\xd1\x93",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xd1\x96",
+    "\xc2\xb5",
+    "\xd2\x91",
+    "\xd0\x88",
+    "\xd0\x84",
+    "\xd1\x94",
+    "\xd0\x87",
+    "\xd1\x97",
+    "\xd0\x89",
+    "\xd1\x99",
+    "\xd0\x8a",
+    "\xd1\x9a",
+    "\xd1\x98",
+    "\xd0\x85",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xd0\x8b",
+    "\xd1\x9b",
+    "\xd0\x8c",
+    "\xd1\x9c",
+    "\xd1\x95",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x80\x9e",
+    "\xd0\x8e",
+    "\xd1\x9e",
+    "\xd0\x8f",
+    "\xd1\x9f",
+    "\xe2\x84\x96",
+    "\xd0\x81",
+    "\xd1\x91",
+    "\xd1\x8f",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xc2\xa4",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xff",
+    0x000000a7 => "\xa4",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000bb => "\xc8",
+    0x000000f7 => "\xd6",
+    0x00000192 => "\xc4",
+    0x00000401 => "\xdd",
+    0x00000402 => "\xab",
+    0x00000403 => "\xae",
+    0x00000404 => "\xb8",
+    0x00000405 => "\xc1",
+    0x00000406 => "\xa7",
+    0x00000407 => "\xba",
+    0x00000408 => "\xb7",
+    0x00000409 => "\xbc",
+    0x0000040a => "\xbe",
+    0x0000040b => "\xcb",
+    0x0000040c => "\xcd",
+    0x0000040e => "\xd8",
+    0x0000040f => "\xda",
+    0x00000410 => "\x80",
+    0x00000411 => "\x81",
+    0x00000412 => "\x82",
+    0x00000413 => "\x83",
+    0x00000414 => "\x84",
+    0x00000415 => "\x85",
+    0x00000416 => "\x86",
+    0x00000417 => "\x87",
+    0x00000418 => "\x88",
+    0x00000419 => "\x89",
+    0x0000041a => "\x8a",
+    0x0000041b => "\x8b",
+    0x0000041c => "\x8c",
+    0x0000041d => "\x8d",
+    0x0000041e => "\x8e",
+    0x0000041f => "\x8f",
+    0x00000420 => "\x90",
+    0x00000421 => "\x91",
+    0x00000422 => "\x92",
+    0x00000423 => "\x93",
+    0x00000424 => "\x94",
+    0x00000425 => "\x95",
+    0x00000426 => "\x96",
+    0x00000427 => "\x97",
+    0x00000428 => "\x98",
+    0x00000429 => "\x99",
+    0x0000042a => "\x9a",
+    0x0000042b => "\x9b",
+    0x0000042c => "\x9c",
+    0x0000042d => "\x9d",
+    0x0000042e => "\x9e",
+    0x0000042f => "\x9f",
+    0x00000430 => "\xe0",
+    0x00000431 => "\xe1",
+    0x00000432 => "\xe2",
+    0x00000433 => "\xe3",
+    0x00000434 => "\xe4",
+    0x00000435 => "\xe5",
+    0x00000436 => "\xe6",
+    0x00000437 => "\xe7",
+    0x00000438 => "\xe8",
+    0x00000439 => "\xe9",
+    0x0000043a => "\xea",
+    0x0000043b => "\xeb",
+    0x0000043c => "\xec",
+    0x0000043d => "\xed",
+    0x0000043e => "\xee",
+    0x0000043f => "\xef",
+    0x00000440 => "\xf0",
+    0x00000441 => "\xf1",
+    0x00000442 => "\xf2",
+    0x00000443 => "\xf3",
+    0x00000444 => "\xf4",
+    0x00000445 => "\xf5",
+    0x00000446 => "\xf6",
+    0x00000447 => "\xf7",
+    0x00000448 => "\xf8",
+    0x00000449 => "\xf9",
+    0x0000044a => "\xfa",
+    0x0000044b => "\xfb",
+    0x0000044c => "\xfc",
+    0x0000044d => "\xfd",
+    0x0000044e => "\xfe",
+    0x0000044f => "\xdf",
+    0x00000451 => "\xde",
+    0x00000452 => "\xac",
+    0x00000453 => "\xaf",
+    0x00000454 => "\xb9",
+    0x00000455 => "\xcf",
+    0x00000456 => "\xb4",
+    0x00000457 => "\xbb",
+    0x00000458 => "\xc0",
+    0x00000459 => "\xbd",
+    0x0000045a => "\xbf",
+    0x0000045b => "\xcc",
+    0x0000045c => "\xce",
+    0x0000045e => "\xd9",
+    0x0000045f => "\xdb",
+    0x00000490 => "\xa2",
+    0x00000491 => "\xb6",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xd7",
+    0x00002020 => "\xa0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002116 => "\xdc",
+    0x00002122 => "\xaa",
+    0x00002206 => "\xc6",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MACUKRAINE - Conversion routines for MACUKRAINE
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MACUKRAINE.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00000410 | CYRILLIC CAPITAL LETTER A
+    81 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    82 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    83 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    84 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    85 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    86 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    87 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    88 |  00000418 | CYRILLIC CAPITAL LETTER I
+    89 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    8A |  0000041A | CYRILLIC CAPITAL LETTER KA
+    8B |  0000041B | CYRILLIC CAPITAL LETTER EL
+    8C |  0000041C | CYRILLIC CAPITAL LETTER EM
+    8D |  0000041D | CYRILLIC CAPITAL LETTER EN
+    8E |  0000041E | CYRILLIC CAPITAL LETTER O
+    8F |  0000041F | CYRILLIC CAPITAL LETTER PE
+    90 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    91 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    92 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    93 |  00000423 | CYRILLIC CAPITAL LETTER U
+    94 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    95 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    96 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    97 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    98 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    99 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    9A |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    9B |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    9C |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    9D |  0000042D | CYRILLIC CAPITAL LETTER E
+    9E |  0000042E | CYRILLIC CAPITAL LETTER YU
+    9F |  0000042F | CYRILLIC CAPITAL LETTER YA
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  00000402 | CYRILLIC CAPITAL LETTER DJE
+    AC |  00000452 | CYRILLIC SMALL LETTER DJE
+    AD |  00002260 | NOT EQUAL TO
+    AE |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    AF |  00000453 | CYRILLIC SMALL LETTER GJE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
+    B7 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    B8 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    B9 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    BA |  00000407 | CYRILLIC CAPITAL LETTER YI
+    BB |  00000457 | CYRILLIC SMALL LETTER YI
+    BC |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    BD |  00000459 | CYRILLIC SMALL LETTER LJE
+    BE |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    BF |  0000045A | CYRILLIC SMALL LETTER NJE
+    C0 |  00000458 | CYRILLIC SMALL LETTER JE
+    C1 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  0000040B | CYRILLIC CAPITAL LETTER TSHE
+    CC |  0000045B | CYRILLIC SMALL LETTER TSHE
+    CD |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    CE |  0000045C | CYRILLIC SMALL LETTER KJE
+    CF |  00000455 | CYRILLIC SMALL LETTER DZE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    D8 |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
+    D9 |  0000045E | CYRILLIC SMALL LETTER SHORT U
+    DA |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    DB |  0000045F | CYRILLIC SMALL LETTER DZHE
+    DC |  00002116 | NUMERO SIGN
+    DD |  00000401 | CYRILLIC CAPITAL LETTER IO
+    DE |  00000451 | CYRILLIC SMALL LETTER IO
+    DF |  0000044F | CYRILLIC SMALL LETTER YA
+    E0 |  00000430 | CYRILLIC SMALL LETTER A
+    E1 |  00000431 | CYRILLIC SMALL LETTER BE
+    E2 |  00000432 | CYRILLIC SMALL LETTER VE
+    E3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    E4 |  00000434 | CYRILLIC SMALL LETTER DE
+    E5 |  00000435 | CYRILLIC SMALL LETTER IE
+    E6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    E7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    E8 |  00000438 | CYRILLIC SMALL LETTER I
+    E9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    EA |  0000043A | CYRILLIC SMALL LETTER KA
+    EB |  0000043B | CYRILLIC SMALL LETTER EL
+    EC |  0000043C | CYRILLIC SMALL LETTER EM
+    ED |  0000043D | CYRILLIC SMALL LETTER EN
+    EE |  0000043E | CYRILLIC SMALL LETTER O
+    EF |  0000043F | CYRILLIC SMALL LETTER PE
+    F0 |  00000440 | CYRILLIC SMALL LETTER ER
+    F1 |  00000441 | CYRILLIC SMALL LETTER ES
+    F2 |  00000442 | CYRILLIC SMALL LETTER TE
+    F3 |  00000443 | CYRILLIC SMALL LETTER U
+    F4 |  00000444 | CYRILLIC SMALL LETTER EF
+    F5 |  00000445 | CYRILLIC SMALL LETTER HA
+    F6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    F7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    F8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    F9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    FA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    FB |  0000044B | CYRILLIC SMALL LETTER YERU
+    FC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    FD |  0000044D | CYRILLIC SMALL LETTER E
+    FE |  0000044E | CYRILLIC SMALL LETTER YU
+    FF |  000000A4 | CURRENCY SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_IS.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_IS.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_IS.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_IS.pm   12 Oct 2011 
23:51:48 -0000      1.1
@@ -0,0 +1,1140 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MAC_IS.pm,v 1.1 2011/10/12 23:51:48 pertusus Exp $
+
+# Conversion routines for MAC-IS.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MAC_IS;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x2020,
+    0x00b0,
+    0x00a2,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x00df,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x00b4,
+    0x00a8,
+    0x2260,
+    0x00c6,
+    0x00d8,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x00a5,
+    0x00b5,
+    0x2202,
+    0x2211,
+    0x220f,
+    0x03c0,
+    0x222b,
+    0x00aa,
+    0x00ba,
+    0x03a9,
+    0x00e6,
+    0x00f8,
+    0x00bf,
+    0x00a1,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x0394,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x0152,
+    0x0153,
+    0x2014,
+    0x2013,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x25c6,
+    0x00ff,
+    0x0178,
+    0x2044,
+    0x00a4,
+    0x0110,
+    0x0111,
+    0x00de,
+    0x00fe,
+    0x2021,
+    0x00b7,
+    0x201a,
+    0x201e,
+    0x2030,
+    0x00c2,
+    0x00ca,
+    0x00c1,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00d3,
+    0x00d4,
+    0xe01e,
+    0x00d2,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x0131,
+    0xfffd,
+    0xfffd,
+    0x00af,
+    0x02d8,
+    0x02d9,
+    0x02da,
+    0x00b8,
+    0x02dd,
+    0x02db,
+    0x02c7,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xc2\xb4",
+    "\xc2\xa8",
+    "\xe2\x89\xa0",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xc2\xa5",
+    "\xc2\xb5",
+    "\xe2\x88\x82",
+    "\xe2\x88\x91",
+    "\xe2\x88\x8f",
+    "\xcf\x80",
+    "\xe2\x88\xab",
+    "\xc2\xaa",
+    "\xc2\xba",
+    "\xce\xa9",
+    "\xc3\xa6",
+    "\xc3\xb8",
+    "\xc2\xbf",
+    "\xc2\xa1",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xce\x94",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x93",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x97\x86",
+    "\xc3\xbf",
+    "\xc5\xb8",
+    "\xe2\x81\x84",
+    "\xc2\xa4",
+    "\xc4\x90",
+    "\xc4\x91",
+    "\xc3\x9e",
+    "\xc3\xbe",
+    "\xe2\x80\xa1",
+    "\xc2\xb7",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xb0",
+    "\xc3\x82",
+    "\xc3\x8a",
+    "\xc3\x81",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xee\x80\x9e",
+    "\xc3\x92",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc4\xb1",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc2\xaf",
+    "\xcb\x98",
+    "\xcb\x99",
+    "\xcb\x9a",
+    "\xc2\xb8",
+    "\xcb\x9d",
+    "\xcb\x9b",
+    "\xcb\x87",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a1 => "\xc1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xdb",
+    0x000000a5 => "\xb4",
+    0x000000a7 => "\xa4",
+    0x000000a8 => "\xac",
+    0x000000a9 => "\xa9",
+    0x000000aa => "\xbb",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000af => "\xf8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xab",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000b7 => "\xe1",
+    0x000000b8 => "\xfc",
+    0x000000ba => "\xbc",
+    0x000000bb => "\xc8",
+    0x000000bf => "\xc0",
+    0x000000c0 => "\xcb",
+    0x000000c1 => "\xe7",
+    0x000000c2 => "\xe5",
+    0x000000c3 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c5 => "\x81",
+    0x000000c6 => "\xae",
+    0x000000c7 => "\x82",
+    0x000000c8 => "\xe9",
+    0x000000c9 => "\x83",
+    0x000000ca => "\xe6",
+    0x000000cb => "\xe8",
+    0x000000cc => "\xed",
+    0x000000cd => "\xea",
+    0x000000ce => "\xeb",
+    0x000000cf => "\xec",
+    0x000000d1 => "\x84",
+    0x000000d2 => "\xf1",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xef",
+    0x000000d5 => "\xcd",
+    0x000000d6 => "\x85",
+    0x000000d8 => "\xaf",
+    0x000000d9 => "\xf4",
+    0x000000da => "\xf2",
+    0x000000db => "\xf3",
+    0x000000dc => "\x86",
+    0x000000de => "\xde",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e6 => "\xbe",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f8 => "\xbf",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x000000fe => "\xdf",
+    0x000000ff => "\xd8",
+    0x00000110 => "\xdc",
+    0x00000111 => "\xdd",
+    0x00000131 => "\xf5",
+    0x00000152 => "\xce",
+    0x00000153 => "\xcf",
+    0x00000178 => "\xd9",
+    0x00000192 => "\xc4",
+    0x000002c7 => "\xff",
+    0x000002d8 => "\xf9",
+    0x000002d9 => "\xfa",
+    0x000002da => "\xfb",
+    0x000002db => "\xfe",
+    0x000002dd => "\xfd",
+    0x00000394 => "\xc6",
+    0x000003a9 => "\xbd",
+    0x000003c0 => "\xb9",
+    0x00002013 => "\xd1",
+    0x00002014 => "\xd0",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201a => "\xe2",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xe3",
+    0x00002020 => "\xa0",
+    0x00002021 => "\xe0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002030 => "\xe4",
+    0x00002044 => "\xda",
+    0x00002122 => "\xaa",
+    0x00002202 => "\xb6",
+    0x0000220f => "\xb8",
+    0x00002211 => "\xb7",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x0000222b => "\xba",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+    0x000025c6 => "\xd7",
+    0x0000e01e => "\xf0",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MAC_IS - Conversion routines for MAC-IS
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MAC-IS.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  000000B4 | ACUTE ACCENT
+    AC |  000000A8 | DIAERESIS
+    AD |  00002260 | NOT EQUAL TO
+    AE |  000000C6 | LATIN CAPITAL LETTER AE
+    AF |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  000000A5 | YEN SIGN
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  00002211 | N-ARY SUMMATION
+    B8 |  0000220F | N-ARY PRODUCT
+    B9 |  000003C0 | GREEK SMALL LETTER PI
+    BA |  0000222B | INTEGRAL
+    BB |  000000AA | FEMININE ORDINAL INDICATOR
+    BC |  000000BA | MASCULINE ORDINAL INDICATOR
+    BD |  000003A9 | GREEK CAPITAL LETTER OMEGA
+    BE |  000000E6 | LATIN SMALL LETTER AE
+    BF |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    C0 |  000000BF | INVERTED QUESTION MARK
+    C1 |  000000A1 | INVERTED EXCLAMATION MARK
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00000394 | GREEK CAPITAL LETTER DELTA
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    CC |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    CD |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    CE |  00000152 | LATIN CAPITAL LIGATURE OE
+    CF |  00000153 | LATIN SMALL LIGATURE OE
+    D0 |  00002014 | EM DASH
+    D1 |  00002013 | EN DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  000025C6 | BLACK DIAMOND
+    D8 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    D9 |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    DA |  00002044 | FRACTION SLASH
+    DB |  000000A4 | CURRENCY SIGN
+    DC |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    DD |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    DE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    DF |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    E0 |  00002021 | DOUBLE DAGGER
+    E1 |  000000B7 | MIDDLE DOT
+    E2 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    E3 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    E4 |  00002030 | PER MILLE SIGN
+    E5 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    E6 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    E7 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E8 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    E9 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    EA |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    EB |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    EC |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    ED |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F0 |  0000E01E | APPLE LOGO (Macintosh_F0)
+    F1 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    F2 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    F3 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    F4 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    F5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    F8 |  000000AF | MACRON
+    F9 |  000002D8 | BREVE
+    FA |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
+    FB |  000002DA | RING ABOVE
+    FC |  000000B8 | CEDILLA
+    FD |  000002DD | DOUBLE ACUTE ACCENT
+    FE |  000002DB | OGONEK
+    FF |  000002C7 | CARON (Mandarin Chinese third tone)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_SAMI.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_SAMI.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_SAMI.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_SAMI.pm 12 Oct 2011 
23:51:49 -0000      1.1
@@ -0,0 +1,1147 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MAC_SAMI.pm,v 1.1 2011/10/12 23:51:49 pertusus Exp $
+
+# Conversion routines for MAC-SAMI.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MAC_SAMI;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c9,
+    0x00d1,
+    0x00d6,
+    0x00dc,
+    0x00e1,
+    0x00e0,
+    0x00e2,
+    0x00e4,
+    0x00e3,
+    0x00e5,
+    0x00e7,
+    0x00e9,
+    0x00e8,
+    0x00ea,
+    0x00eb,
+    0x00ed,
+    0x00ec,
+    0x00ee,
+    0x00ef,
+    0x00f1,
+    0x00f3,
+    0x00f2,
+    0x00f4,
+    0x00f6,
+    0x00f5,
+    0x00fa,
+    0x00f9,
+    0x00fb,
+    0x00fc,
+    0x00dd,
+    0x00b0,
+    0x010c,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x00df,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x00b4,
+    0x00a8,
+    0x2260,
+    0x00c6,
+    0x00d8,
+    0x0110,
+    0x014a,
+    0x821e,
+    0x821f,
+    0x0160,
+    0x0166,
+    0x2202,
+    0x017d,
+    0x010d,
+    0x0111,
+    0x014b,
+    0x0161,
+    0x0167,
+    0x017e,
+    0x00e6,
+    0x00f8,
+    0x00bf,
+    0x00a1,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x00c0,
+    0x00c3,
+    0x00d5,
+    0x0152,
+    0x0153,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x25ca,
+    0x00ff,
+    0x0178,
+    0x2044,
+    0x00a4,
+    0x00d0,
+    0x00f0,
+    0x00de,
+    0x00fe,
+    0x00fd,
+    0x00b7,
+    0x201a,
+    0x201e,
+    0x2030,
+    0x00c2,
+    0x00ca,
+    0x00c1,
+    0x00cb,
+    0x00c8,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00cc,
+    0x00d3,
+    0x00d4,
+    0xf8ff,
+    0x00d2,
+    0x00da,
+    0x00db,
+    0x00d9,
+    0x0131,
+    0x01b7,
+    0x0292,
+    0x01ee,
+    0x01ef,
+    0x01e4,
+    0x01e5,
+    0x01e6,
+    0x01e7,
+    0x01e8,
+    0x01e9,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x89",
+    "\xc3\x91",
+    "\xc3\x96",
+    "\xc3\x9c",
+    "\xc3\xa1",
+    "\xc3\xa0",
+    "\xc3\xa2",
+    "\xc3\xa4",
+    "\xc3\xa3",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa9",
+    "\xc3\xa8",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xad",
+    "\xc3\xac",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb1",
+    "\xc3\xb3",
+    "\xc3\xb2",
+    "\xc3\xb4",
+    "\xc3\xb6",
+    "\xc3\xb5",
+    "\xc3\xba",
+    "\xc3\xb9",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\x9d",
+    "\xc2\xb0",
+    "\xc4\x8c",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xc3\x9f",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xc2\xb4",
+    "\xc2\xa8",
+    "\xe2\x89\xa0",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\xc4\x90",
+    "\xc5\x8a",
+    "\xe8\x88\x9e",
+    "\xe8\x88\x9f",
+    "\xc5\xa0",
+    "\xc5\xa6",
+    "\xe2\x88\x82",
+    "\xc5\xbd",
+    "\xc4\x8d",
+    "\xc4\x91",
+    "\xc5\x8b",
+    "\xc5\xa1",
+    "\xc5\xa7",
+    "\xc5\xbe",
+    "\xc3\xa6",
+    "\xc3\xb8",
+    "\xc2\xbf",
+    "\xc2\xa1",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x83",
+    "\xc3\x95",
+    "\xc5\x92",
+    "\xc5\x93",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x97\x8a",
+    "\xc3\xbf",
+    "\xc5\xb8",
+    "\xe2\x81\x84",
+    "\xc2\xa4",
+    "\xc3\x90",
+    "\xc3\xb0",
+    "\xc3\x9e",
+    "\xc3\xbe",
+    "\xc3\xbd",
+    "\xc2\xb7",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\xb0",
+    "\xc3\x82",
+    "\xc3\x8a",
+    "\xc3\x81",
+    "\xc3\x8b",
+    "\xc3\x88",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x8c",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xef\xa3\xbf",
+    "\xc3\x92",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x99",
+    "\xc4\xb1",
+    "\xc6\xb7",
+    "\xca\x92",
+    "\xc7\xae",
+    "\xc7\xaf",
+    "\xc7\xa4",
+    "\xc7\xa5",
+    "\xc7\xa6",
+    "\xc7\xa7",
+    "\xc7\xa8",
+    "\xc7\xa9",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a1 => "\xc1",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xdb",
+    0x000000a7 => "\xa4",
+    0x000000a8 => "\xac",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000b0 => "\xa1",
+    0x000000b4 => "\xab",
+    0x000000b6 => "\xa6",
+    0x000000b7 => "\xe1",
+    0x000000bb => "\xc8",
+    0x000000bf => "\xc0",
+    0x000000c0 => "\xcb",
+    0x000000c1 => "\xe7",
+    0x000000c2 => "\xe5",
+    0x000000c3 => "\xcc",
+    0x000000c4 => "\x80",
+    0x000000c5 => "\x81",
+    0x000000c6 => "\xae",
+    0x000000c7 => "\x82",
+    0x000000c8 => "\xe9",
+    0x000000c9 => "\x83",
+    0x000000ca => "\xe6",
+    0x000000cb => "\xe8",
+    0x000000cc => "\xed",
+    0x000000cd => "\xea",
+    0x000000ce => "\xeb",
+    0x000000cf => "\xec",
+    0x000000d0 => "\xdc",
+    0x000000d1 => "\x84",
+    0x000000d2 => "\xf1",
+    0x000000d3 => "\xee",
+    0x000000d4 => "\xef",
+    0x000000d5 => "\xcd",
+    0x000000d6 => "\x85",
+    0x000000d8 => "\xaf",
+    0x000000d9 => "\xf4",
+    0x000000da => "\xf2",
+    0x000000db => "\xf3",
+    0x000000dc => "\x86",
+    0x000000dd => "\xa0",
+    0x000000de => "\xde",
+    0x000000df => "\xa7",
+    0x000000e0 => "\x88",
+    0x000000e1 => "\x87",
+    0x000000e2 => "\x89",
+    0x000000e3 => "\x8b",
+    0x000000e4 => "\x8a",
+    0x000000e5 => "\x8c",
+    0x000000e6 => "\xbe",
+    0x000000e7 => "\x8d",
+    0x000000e8 => "\x8f",
+    0x000000e9 => "\x8e",
+    0x000000ea => "\x90",
+    0x000000eb => "\x91",
+    0x000000ec => "\x93",
+    0x000000ed => "\x92",
+    0x000000ee => "\x94",
+    0x000000ef => "\x95",
+    0x000000f0 => "\xdd",
+    0x000000f1 => "\x96",
+    0x000000f2 => "\x98",
+    0x000000f3 => "\x97",
+    0x000000f4 => "\x99",
+    0x000000f5 => "\x9b",
+    0x000000f6 => "\x9a",
+    0x000000f7 => "\xd6",
+    0x000000f8 => "\xbf",
+    0x000000f9 => "\x9d",
+    0x000000fa => "\x9c",
+    0x000000fb => "\x9e",
+    0x000000fc => "\x9f",
+    0x000000fd => "\xe0",
+    0x000000fe => "\xdf",
+    0x000000ff => "\xd8",
+    0x0000010c => "\xa2",
+    0x0000010d => "\xb8",
+    0x00000110 => "\xb0",
+    0x00000111 => "\xb9",
+    0x00000131 => "\xf5",
+    0x0000014a => "\xb1",
+    0x0000014b => "\xba",
+    0x00000152 => "\xce",
+    0x00000153 => "\xcf",
+    0x00000160 => "\xb4",
+    0x00000161 => "\xbb",
+    0x00000166 => "\xb5",
+    0x00000167 => "\xbc",
+    0x00000178 => "\xd9",
+    0x0000017d => "\xb7",
+    0x0000017e => "\xbd",
+    0x00000192 => "\xc4",
+    0x000001b7 => "\xf6",
+    0x000001e4 => "\xfa",
+    0x000001e5 => "\xfb",
+    0x000001e6 => "\xfc",
+    0x000001e7 => "\xfd",
+    0x000001e8 => "\xfe",
+    0x000001e9 => "\xff",
+    0x000001ee => "\xf8",
+    0x000001ef => "\xf9",
+    0x00000292 => "\xf7",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201a => "\xe2",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xe3",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002030 => "\xe4",
+    0x00002044 => "\xda",
+    0x00002122 => "\xaa",
+    0x00002202 => "\xb6",
+    0x00002206 => "\xc6",
+    0x0000221a => "\xc3",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x000025ca => "\xd7",
+    0x0000821e => "\xb2",
+    0x0000821f => "\xb3",
+    0x0000f8ff => "\xf0",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MAC_SAMI - Conversion routines for MAC-SAMI
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MAC-SAMI.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ source:  http://www.indigo.ie/egt/standards/se/mac-sami.html
+ author:  Regnor Jernsletten E<lt>address@hidden<gt>
+ date:    2001-07-31
+ comment: Macintosh sami standard.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    81 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    82 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    83 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    84 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    85 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    86 |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    87 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    88 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    89 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    8A |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    8B |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    8C |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    8D |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    8E |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    8F |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    90 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    91 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    92 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    93 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    94 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    95 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    96 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    97 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    98 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    99 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    9A |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    9B |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    9C |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    9D |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    9E |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    9F |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    A0 |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  000000B4 | ACUTE ACCENT
+    AC |  000000A8 | DIAERESIS
+    AD |  00002260 | NOT EQUAL TO
+    AE |  000000C6 | LATIN CAPITAL LETTER AE
+    AF |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    B0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    B1 |  0000014A | LATIN CAPITAL LETTER ENG
+    B2 |  0000821E | LATIN CAPITAL LETTER H WITH CARON
+    B3 |  0000821F | LATIN SMALL LETTER H WITH CARON
+    B4 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    B5 |  00000166 | LATIN CAPITAL LETTER T WITH STROKE
+    B6 |  00002202 | PARTIAL DIFFERENTIAL
+    B7 |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    B8 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    B9 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    BA |  0000014B | LATIN SMALL LETTER ENG
+    BB |  00000161 | LATIN SMALL LETTER S WITH CARON
+    BC |  00000167 | LATIN SMALL LETTER T WITH STROKE
+    BD |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    BE |  000000E6 | LATIN SMALL LETTER AE
+    BF |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    C0 |  000000BF | INVERTED QUESTION MARK
+    C1 |  000000A1 | INVERTED EXCLAMATION MARK
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    CC |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    CD |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    CE |  00000152 | LATIN CAPITAL LETTER LIGATURE OE
+    CF |  00000153 | LATIN SMALL LETTER LIGATURE OE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  000025CA | LOZENGE
+    D8 |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+    D9 |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    DA |  00002044 | FRACTION SLASH
+    DB |  000000A4 | CURRENCY SIGN
+    DC |  000000D0 | LATIN CAPITAL LETTER ETH
+    DD |  000000F0 | LATIN SMALL LETTER ETH
+    DE |  000000DE | LATIN CAPITAL LETTER THORN
+    DF |  000000FE | LATIN SMALL LETTER THORN
+    E0 |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    E1 |  000000B7 | MIDDLE DOT
+    E2 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    E3 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    E4 |  00002030 | PER MILLE SIGN
+    E5 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    E6 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    E7 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    E8 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    E9 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    EA |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    EB |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    EC |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    ED |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    EF |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    F0 |  0000F8FF | APPLE SIGN
+    F1 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    F2 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    F3 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    F4 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    F5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    F6 |  000001B7 | LATIN CAPITAL LETTER EZH
+    F7 |  00000292 | LATIN SMALL LETTER EZH
+    F8 |  000001EE | LATIN CAPITAL LETTER EZH WITH CARON
+    F9 |  000001EF | LATIN SMALL LETTER EZH WITH CARON
+    FA |  000001E4 | LATIN CAPITAL LETTER G WITH STROKE
+    FB |  000001E5 | LATIN SMALLL LETTER G WITH STROKE
+    FC |  000001E6 | LATIN CAPITAL LETTER G WITH CARON
+    FD |  000001E7 | LATIN SMALL LETTER G WITH CARON
+    FE |  000001E8 | LATIN CAPITAL LETTER K WITH CARON
+    FF |  000001E9 | LATIN SMALL LETTER K WITH CARON
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_UK.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_UK.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_UK.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/MAC_UK.pm   12 Oct 2011 
23:51:49 -0000      1.1
@@ -0,0 +1,1144 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: MAC_UK.pm,v 1.1 2011/10/12 23:51:49 pertusus Exp $
+
+# Conversion routines for MAC-UK.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::MAC_UK;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x0410,
+    0x0411,
+    0x0412,
+    0x0413,
+    0x0414,
+    0x0415,
+    0x0416,
+    0x0417,
+    0x0418,
+    0x0419,
+    0x041a,
+    0x041b,
+    0x041c,
+    0x041d,
+    0x041e,
+    0x041f,
+    0x0420,
+    0x0421,
+    0x0422,
+    0x0423,
+    0x0424,
+    0x0425,
+    0x0426,
+    0x0427,
+    0x0428,
+    0x0429,
+    0x042a,
+    0x042b,
+    0x042c,
+    0x042d,
+    0x042e,
+    0x042f,
+    0x2020,
+    0x00b0,
+    0x0490,
+    0x00a3,
+    0x00a7,
+    0x2022,
+    0x00b6,
+    0x0406,
+    0x00ae,
+    0x00a9,
+    0x2122,
+    0x0402,
+    0x0452,
+    0x2260,
+    0x0403,
+    0x0453,
+    0x221e,
+    0x00b1,
+    0x2264,
+    0x2265,
+    0x0456,
+    0x00b5,
+    0x0491,
+    0x0408,
+    0x0404,
+    0x0454,
+    0x0407,
+    0x0457,
+    0x0409,
+    0x0459,
+    0x040a,
+    0x045a,
+    0x0458,
+    0x0405,
+    0x00ac,
+    0x221a,
+    0x0192,
+    0x2248,
+    0x2206,
+    0x00ab,
+    0x00bb,
+    0x2026,
+    0x00a0,
+    0x040b,
+    0x045b,
+    0x040c,
+    0x045c,
+    0x0455,
+    0x2013,
+    0x2014,
+    0x201c,
+    0x201d,
+    0x2018,
+    0x2019,
+    0x00f7,
+    0x201e,
+    0x040e,
+    0x045e,
+    0x040f,
+    0x045f,
+    0x2116,
+    0x0401,
+    0x0451,
+    0x044f,
+    0x0430,
+    0x0431,
+    0x0432,
+    0x0433,
+    0x0434,
+    0x0435,
+    0x0436,
+    0x0437,
+    0x0438,
+    0x0439,
+    0x043a,
+    0x043b,
+    0x043c,
+    0x043d,
+    0x043e,
+    0x043f,
+    0x0440,
+    0x0441,
+    0x0442,
+    0x0443,
+    0x0444,
+    0x0445,
+    0x0446,
+    0x0447,
+    0x0448,
+    0x0449,
+    0x044a,
+    0x044b,
+    0x044c,
+    0x044d,
+    0x044e,
+    0x00a4,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xd0\x90",
+    "\xd0\x91",
+    "\xd0\x92",
+    "\xd0\x93",
+    "\xd0\x94",
+    "\xd0\x95",
+    "\xd0\x96",
+    "\xd0\x97",
+    "\xd0\x98",
+    "\xd0\x99",
+    "\xd0\x9a",
+    "\xd0\x9b",
+    "\xd0\x9c",
+    "\xd0\x9d",
+    "\xd0\x9e",
+    "\xd0\x9f",
+    "\xd0\xa0",
+    "\xd0\xa1",
+    "\xd0\xa2",
+    "\xd0\xa3",
+    "\xd0\xa4",
+    "\xd0\xa5",
+    "\xd0\xa6",
+    "\xd0\xa7",
+    "\xd0\xa8",
+    "\xd0\xa9",
+    "\xd0\xaa",
+    "\xd0\xab",
+    "\xd0\xac",
+    "\xd0\xad",
+    "\xd0\xae",
+    "\xd0\xaf",
+    "\xe2\x80\xa0",
+    "\xc2\xb0",
+    "\xd2\x90",
+    "\xc2\xa3",
+    "\xc2\xa7",
+    "\xe2\x80\xa2",
+    "\xc2\xb6",
+    "\xd0\x86",
+    "\xc2\xae",
+    "\xc2\xa9",
+    "\xe2\x84\xa2",
+    "\xd0\x82",
+    "\xd1\x92",
+    "\xe2\x89\xa0",
+    "\xd0\x83",
+    "\xd1\x93",
+    "\xe2\x88\x9e",
+    "\xc2\xb1",
+    "\xe2\x89\xa4",
+    "\xe2\x89\xa5",
+    "\xd1\x96",
+    "\xc2\xb5",
+    "\xd2\x91",
+    "\xd0\x88",
+    "\xd0\x84",
+    "\xd1\x94",
+    "\xd0\x87",
+    "\xd1\x97",
+    "\xd0\x89",
+    "\xd1\x99",
+    "\xd0\x8a",
+    "\xd1\x9a",
+    "\xd1\x98",
+    "\xd0\x85",
+    "\xc2\xac",
+    "\xe2\x88\x9a",
+    "\xc6\x92",
+    "\xe2\x89\x88",
+    "\xe2\x88\x86",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xc2\xa0",
+    "\xd0\x8b",
+    "\xd1\x9b",
+    "\xd0\x8c",
+    "\xd1\x9c",
+    "\xd1\x95",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xc3\xb7",
+    "\xe2\x80\x9e",
+    "\xd0\x8e",
+    "\xd1\x9e",
+    "\xd0\x8f",
+    "\xd1\x9f",
+    "\xe2\x84\x96",
+    "\xd0\x81",
+    "\xd1\x91",
+    "\xd1\x8f",
+    "\xd0\xb0",
+    "\xd0\xb1",
+    "\xd0\xb2",
+    "\xd0\xb3",
+    "\xd0\xb4",
+    "\xd0\xb5",
+    "\xd0\xb6",
+    "\xd0\xb7",
+    "\xd0\xb8",
+    "\xd0\xb9",
+    "\xd0\xba",
+    "\xd0\xbb",
+    "\xd0\xbc",
+    "\xd0\xbd",
+    "\xd0\xbe",
+    "\xd0\xbf",
+    "\xd1\x80",
+    "\xd1\x81",
+    "\xd1\x82",
+    "\xd1\x83",
+    "\xd1\x84",
+    "\xd1\x85",
+    "\xd1\x86",
+    "\xd1\x87",
+    "\xd1\x88",
+    "\xd1\x89",
+    "\xd1\x8a",
+    "\xd1\x8b",
+    "\xd1\x8c",
+    "\xd1\x8d",
+    "\xd1\x8e",
+    "\xc2\xa4",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xca",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xff",
+    0x000000a7 => "\xa4",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xc7",
+    0x000000ac => "\xc2",
+    0x000000ae => "\xa8",
+    0x000000b0 => "\xa1",
+    0x000000b1 => "\xb1",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xa6",
+    0x000000bb => "\xc8",
+    0x000000f7 => "\xd6",
+    0x00000192 => "\xc4",
+    0x00000401 => "\xdd",
+    0x00000402 => "\xab",
+    0x00000403 => "\xae",
+    0x00000404 => "\xb8",
+    0x00000405 => "\xc1",
+    0x00000406 => "\xa7",
+    0x00000407 => "\xba",
+    0x00000408 => "\xb7",
+    0x00000409 => "\xbc",
+    0x0000040a => "\xbe",
+    0x0000040b => "\xcb",
+    0x0000040c => "\xcd",
+    0x0000040e => "\xd8",
+    0x0000040f => "\xda",
+    0x00000410 => "\x80",
+    0x00000411 => "\x81",
+    0x00000412 => "\x82",
+    0x00000413 => "\x83",
+    0x00000414 => "\x84",
+    0x00000415 => "\x85",
+    0x00000416 => "\x86",
+    0x00000417 => "\x87",
+    0x00000418 => "\x88",
+    0x00000419 => "\x89",
+    0x0000041a => "\x8a",
+    0x0000041b => "\x8b",
+    0x0000041c => "\x8c",
+    0x0000041d => "\x8d",
+    0x0000041e => "\x8e",
+    0x0000041f => "\x8f",
+    0x00000420 => "\x90",
+    0x00000421 => "\x91",
+    0x00000422 => "\x92",
+    0x00000423 => "\x93",
+    0x00000424 => "\x94",
+    0x00000425 => "\x95",
+    0x00000426 => "\x96",
+    0x00000427 => "\x97",
+    0x00000428 => "\x98",
+    0x00000429 => "\x99",
+    0x0000042a => "\x9a",
+    0x0000042b => "\x9b",
+    0x0000042c => "\x9c",
+    0x0000042d => "\x9d",
+    0x0000042e => "\x9e",
+    0x0000042f => "\x9f",
+    0x00000430 => "\xe0",
+    0x00000431 => "\xe1",
+    0x00000432 => "\xe2",
+    0x00000433 => "\xe3",
+    0x00000434 => "\xe4",
+    0x00000435 => "\xe5",
+    0x00000436 => "\xe6",
+    0x00000437 => "\xe7",
+    0x00000438 => "\xe8",
+    0x00000439 => "\xe9",
+    0x0000043a => "\xea",
+    0x0000043b => "\xeb",
+    0x0000043c => "\xec",
+    0x0000043d => "\xed",
+    0x0000043e => "\xee",
+    0x0000043f => "\xef",
+    0x00000440 => "\xf0",
+    0x00000441 => "\xf1",
+    0x00000442 => "\xf2",
+    0x00000443 => "\xf3",
+    0x00000444 => "\xf4",
+    0x00000445 => "\xf5",
+    0x00000446 => "\xf6",
+    0x00000447 => "\xf7",
+    0x00000448 => "\xf8",
+    0x00000449 => "\xf9",
+    0x0000044a => "\xfa",
+    0x0000044b => "\xfb",
+    0x0000044c => "\xfc",
+    0x0000044d => "\xfd",
+    0x0000044e => "\xfe",
+    0x0000044f => "\xdf",
+    0x00000451 => "\xde",
+    0x00000452 => "\xac",
+    0x00000453 => "\xaf",
+    0x00000454 => "\xb9",
+    0x00000455 => "\xcf",
+    0x00000456 => "\xb4",
+    0x00000457 => "\xbb",
+    0x00000458 => "\xc0",
+    0x00000459 => "\xbd",
+    0x0000045a => "\xbf",
+    0x0000045b => "\xcc",
+    0x0000045c => "\xce",
+    0x0000045e => "\xd9",
+    0x0000045f => "\xdb",
+    0x00000490 => "\xa2",
+    0x00000491 => "\xb6",
+    0x00002013 => "\xd0",
+    0x00002014 => "\xd1",
+    0x00002018 => "\xd4",
+    0x00002019 => "\xd5",
+    0x0000201c => "\xd2",
+    0x0000201d => "\xd3",
+    0x0000201e => "\xd7",
+    0x00002020 => "\xa0",
+    0x00002022 => "\xa5",
+    0x00002026 => "\xc9",
+    0x00002116 => "\xdc",
+    0x00002122 => "\xaa",
+    0x00002206 => "\xc6",
+    0x0000221a => "\xc3",
+    0x0000221e => "\xb0",
+    0x00002248 => "\xc5",
+    0x00002260 => "\xad",
+    0x00002264 => "\xb2",
+    0x00002265 => "\xb3",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::MAC_UK - Conversion routines for MAC-UK
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for MAC-UK.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ automatically generated from the charDB
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL
+    01 |  00000001 | START OF HEADING
+    02 |  00000002 | START OF TEXT
+    03 |  00000003 | END OF TEXT
+    04 |  00000004 | END OF TRANSMISSION
+    05 |  00000005 | ENQUIRY
+    06 |  00000006 | ACKNOWLEDGE
+    07 |  00000007 | BELL
+    08 |  00000008 | BACKSPACE
+    09 |  00000009 | HORIZONTAL TABULATION
+    0A |  0000000A | LINE FEED
+    0B |  0000000B | VERTICAL TABULATION
+    0C |  0000000C | FORM FEED
+    0D |  0000000D | CARRIAGE RETURN
+    0E |  0000000E | SHIFT OUT
+    0F |  0000000F | SHIFT IN
+    10 |  00000010 | DATA LINK ESCAPE
+    11 |  00000011 | DEVICE CONTROL ONE
+    12 |  00000012 | DEVICE CONTROL TWO
+    13 |  00000013 | DEVICE CONTROL THREE
+    14 |  00000014 | DEVICE CONTROL FOUR
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE
+    16 |  00000016 | SYNCHRONOUS IDLE
+    17 |  00000017 | END OF TRANSMISSION BLOCK
+    18 |  00000018 | CANCEL
+    19 |  00000019 | END OF MEDIUM
+    1A |  0000001A | SUBSTITUTE
+    1B |  0000001B | ESCAPE
+    1C |  0000001C | FILE SEPARATOR
+    1D |  0000001D | GROUP SEPARATOR
+    1E |  0000001E | RECORD SEPARATOR
+    1F |  0000001F | UNIT SEPARATOR
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE
+    80 |  00000410 | CYRILLIC CAPITAL LETTER A
+    81 |  00000411 | CYRILLIC CAPITAL LETTER BE
+    82 |  00000412 | CYRILLIC CAPITAL LETTER VE
+    83 |  00000413 | CYRILLIC CAPITAL LETTER GHE
+    84 |  00000414 | CYRILLIC CAPITAL LETTER DE
+    85 |  00000415 | CYRILLIC CAPITAL LETTER IE
+    86 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
+    87 |  00000417 | CYRILLIC CAPITAL LETTER ZE
+    88 |  00000418 | CYRILLIC CAPITAL LETTER I
+    89 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
+    8A |  0000041A | CYRILLIC CAPITAL LETTER KA
+    8B |  0000041B | CYRILLIC CAPITAL LETTER EL
+    8C |  0000041C | CYRILLIC CAPITAL LETTER EM
+    8D |  0000041D | CYRILLIC CAPITAL LETTER EN
+    8E |  0000041E | CYRILLIC CAPITAL LETTER O
+    8F |  0000041F | CYRILLIC CAPITAL LETTER PE
+    90 |  00000420 | CYRILLIC CAPITAL LETTER ER
+    91 |  00000421 | CYRILLIC CAPITAL LETTER ES
+    92 |  00000422 | CYRILLIC CAPITAL LETTER TE
+    93 |  00000423 | CYRILLIC CAPITAL LETTER U
+    94 |  00000424 | CYRILLIC CAPITAL LETTER EF
+    95 |  00000425 | CYRILLIC CAPITAL LETTER HA
+    96 |  00000426 | CYRILLIC CAPITAL LETTER TSE
+    97 |  00000427 | CYRILLIC CAPITAL LETTER CHE
+    98 |  00000428 | CYRILLIC CAPITAL LETTER SHA
+    99 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
+    9A |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
+    9B |  0000042B | CYRILLIC CAPITAL LETTER YERU
+    9C |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
+    9D |  0000042D | CYRILLIC CAPITAL LETTER E
+    9E |  0000042E | CYRILLIC CAPITAL LETTER YU
+    9F |  0000042F | CYRILLIC CAPITAL LETTER YA
+    A0 |  00002020 | DAGGER
+    A1 |  000000B0 | DEGREE SIGN
+    A2 |  00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A7 | SECTION SIGN
+    A5 |  00002022 | BULLET
+    A6 |  000000B6 | PILCROW SIGN
+    A7 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    A8 |  000000AE | REGISTERED SIGN
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  00002122 | TRADE MARK SIGN
+    AB |  00000402 | CYRILLIC CAPITAL LETTER DJE
+    AC |  00000452 | CYRILLIC SMALL LETTER DJE
+    AD |  00002260 | NOT EQUAL TO
+    AE |  00000403 | CYRILLIC CAPITAL LETTER GJE
+    AF |  00000453 | CYRILLIC SMALL LETTER GJE
+    B0 |  0000221E | INFINITY
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  00002264 | LESS-THAN OR EQUAL TO
+    B3 |  00002265 | GREATER-THAN OR EQUAL TO
+    B4 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
+    B7 |  00000408 | CYRILLIC CAPITAL LETTER JE
+    B8 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    B9 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
+    BA |  00000407 | CYRILLIC CAPITAL LETTER YI
+    BB |  00000457 | CYRILLIC SMALL LETTER YI
+    BC |  00000409 | CYRILLIC CAPITAL LETTER LJE
+    BD |  00000459 | CYRILLIC SMALL LETTER LJE
+    BE |  0000040A | CYRILLIC CAPITAL LETTER NJE
+    BF |  0000045A | CYRILLIC SMALL LETTER NJE
+    C0 |  00000458 | CYRILLIC SMALL LETTER JE
+    C1 |  00000405 | CYRILLIC CAPITAL LETTER DZE
+    C2 |  000000AC | NOT SIGN
+    C3 |  0000221A | SQUARE ROOT
+    C4 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    C5 |  00002248 | ALMOST EQUAL TO
+    C6 |  00002206 | INCREMENT
+    C7 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C8 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    C9 |  00002026 | HORIZONTAL ELLIPSIS
+    CA |  000000A0 | NO-BREAK SPACE
+    CB |  0000040B | CYRILLIC CAPITAL LETTER TSHE
+    CC |  0000045B | CYRILLIC SMALL LETTER TSHE
+    CD |  0000040C | CYRILLIC CAPITAL LETTER KJE
+    CE |  0000045C | CYRILLIC SMALL LETTER KJE
+    CF |  00000455 | CYRILLIC SMALL LETTER DZE
+    D0 |  00002013 | EN DASH
+    D1 |  00002014 | EM DASH
+    D2 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    D3 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    D4 |  00002018 | LEFT SINGLE QUOTATION MARK
+    D5 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    D6 |  000000F7 | DIVISION SIGN
+    D7 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    D8 |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
+    D9 |  0000045E | CYRILLIC SMALL LETTER SHORT U
+    DA |  0000040F | CYRILLIC CAPITAL LETTER DZHE
+    DB |  0000045F | CYRILLIC SMALL LETTER DZHE
+    DC |  00002116 | NUMERO SIGN
+    DD |  00000401 | CYRILLIC CAPITAL LETTER IO
+    DE |  00000451 | CYRILLIC SMALL LETTER IO
+    DF |  0000044F | CYRILLIC SMALL LETTER YA
+    E0 |  00000430 | CYRILLIC SMALL LETTER A
+    E1 |  00000431 | CYRILLIC SMALL LETTER BE
+    E2 |  00000432 | CYRILLIC SMALL LETTER VE
+    E3 |  00000433 | CYRILLIC SMALL LETTER GHE
+    E4 |  00000434 | CYRILLIC SMALL LETTER DE
+    E5 |  00000435 | CYRILLIC SMALL LETTER IE
+    E6 |  00000436 | CYRILLIC SMALL LETTER ZHE
+    E7 |  00000437 | CYRILLIC SMALL LETTER ZE
+    E8 |  00000438 | CYRILLIC SMALL LETTER I
+    E9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
+    EA |  0000043A | CYRILLIC SMALL LETTER KA
+    EB |  0000043B | CYRILLIC SMALL LETTER EL
+    EC |  0000043C | CYRILLIC SMALL LETTER EM
+    ED |  0000043D | CYRILLIC SMALL LETTER EN
+    EE |  0000043E | CYRILLIC SMALL LETTER O
+    EF |  0000043F | CYRILLIC SMALL LETTER PE
+    F0 |  00000440 | CYRILLIC SMALL LETTER ER
+    F1 |  00000441 | CYRILLIC SMALL LETTER ES
+    F2 |  00000442 | CYRILLIC SMALL LETTER TE
+    F3 |  00000443 | CYRILLIC SMALL LETTER U
+    F4 |  00000444 | CYRILLIC SMALL LETTER EF
+    F5 |  00000445 | CYRILLIC SMALL LETTER HA
+    F6 |  00000446 | CYRILLIC SMALL LETTER TSE
+    F7 |  00000447 | CYRILLIC SMALL LETTER CHE
+    F8 |  00000448 | CYRILLIC SMALL LETTER SHA
+    F9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
+    FA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN
+    FB |  0000044B | CYRILLIC SMALL LETTER YERU
+    FC |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
+    FD |  0000044D | CYRILLIC SMALL LETTER E
+    FE |  0000044E | CYRILLIC SMALL LETTER YU
+    FF |  000000A4 | CURRENCY SIGN
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_DANO.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_DANO.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_DANO.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_DANO.pm        12 Oct 
2011 23:51:49 -0000      1.1
@@ -0,0 +1,890 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: NATS_DANO.pm,v 1.1 2011/10/12 23:51:49 pertusus Exp $
+
+# Conversion routines for NATS-DANO.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::NATS_DANO;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x00ab,
+    0x00bb,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0xe018,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00c6,
+    0x00d8,
+    0x00c5,
+    0x25a0,
+    0x005f,
+    0xe019,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00e6,
+    0x00f8,
+    0x00e5,
+    0x2013,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\xc2\xab",
+    "\xc2\xbb",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\xee\x80\x98",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc3\x86",
+    "\xc3\x98",
+    "\xc3\x85",
+    "\xe2\x96\xa0",
+    "\x5f",
+    "\xee\x80\x99",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc3\xa6",
+    "\xc3\xb8",
+    "\xc3\xa5",
+    "\xe2\x80\x93",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005f => "\x5f",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007f => "\x7f",
+    0x000000ab => "\x22",
+    0x000000bb => "\x23",
+    0x000000c5 => "\x5d",
+    0x000000c6 => "\x5b",
+    0x000000d8 => "\x5c",
+    0x000000e5 => "\x7d",
+    0x000000e6 => "\x7b",
+    0x000000f8 => "\x7c",
+    0x00002013 => "\x7e",
+    0x000025a0 => "\x5e",
+    0x0000e018 => "\x40",
+    0x0000e019 => "\x60",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::NATS_DANO - Conversion routines for NATS_DANO
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for NATS-DANO.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-9-1
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    23 |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  0000E018 | Unit space A E<lt>ISO-IR-8-1_40E<gt>
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  000000C6 | LATIN CAPITAL LETTER AE
+    5C |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    5D |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5E |  000025A0 | BLACK SQUARE
+    5F |  0000005F | LOW LINE
+    60 |  0000E019 | Unit space B E<lt>ISO-IR-8-1_60E<gt>
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  000000E6 | LATIN SMALL LETTER AE
+    7C |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    7D |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    7E |  00002013 | EN DASH
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_SEFI.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_SEFI.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_SEFI.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/NATS_SEFI.pm        12 Oct 
2011 23:51:49 -0000      1.1
@@ -0,0 +1,890 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: NATS_SEFI.pm,v 1.1 2011/10/12 23:51:49 pertusus Exp $
+
+# Conversion routines for NATS-SEFI.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::NATS_SEFI;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0xe018,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x00c4,
+    0x00d6,
+    0x00c5,
+    0x25a0,
+    0x005f,
+    0xe019,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x00e4,
+    0x00f6,
+    0x00e5,
+    0x2013,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\xee\x80\x98",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\xc3\x84",
+    "\xc3\x96",
+    "\xc3\x85",
+    "\xe2\x96\xa0",
+    "\x5f",
+    "\xee\x80\x99",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\xc3\xa4",
+    "\xc3\xb6",
+    "\xc3\xa5",
+    "\xe2\x80\x93",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005f => "\x5f",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007f => "\x7f",
+    0x000000c4 => "\x5b",
+    0x000000c5 => "\x5d",
+    0x000000d6 => "\x5c",
+    0x000000e4 => "\x7b",
+    0x000000e5 => "\x7d",
+    0x000000f6 => "\x7c",
+    0x00002013 => "\x7e",
+    0x000025a0 => "\x5e",
+    0x0000e018 => "\x40",
+    0x0000e019 => "\x60",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::NATS_SEFI - Conversion routines for NATS_SEFI
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for NATS-SEFI.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  source: ECMA registry
+ alias ISO-IR-8-1
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  0000E018 | Unit space A E<lt>ISO-IR-8-1_40E<gt>
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    5C |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    5D |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    5E |  000025A0 | BLACK SQUARE
+    5F |  0000005F | LOW LINE
+    60 |  0000E019 | Unit space B E<lt>ISO-IR-8-1_60E<gt>
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    7C |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    7D |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    7E |  00002013 | EN DASH
+    7F |  0000007F | DELETE (DEL)
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/NEXTSTEP.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/NEXTSTEP.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/NEXTSTEP.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/NEXTSTEP.pm 12 Oct 2011 
23:51:49 -0000      1.1
@@ -0,0 +1,1142 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: NEXTSTEP.pm,v 1.1 2011/10/12 23:51:49 pertusus Exp $
+
+# Conversion routines for NEXTSTEP.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::NEXTSTEP;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x00a0,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00d0,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x00dd,
+    0x00de,
+    0x00b5,
+    0x00d7,
+    0x00f7,
+    0x00a9,
+    0x00a1,
+    0x00a2,
+    0x00a3,
+    0x2044,
+    0x00a5,
+    0x0192,
+    0x00a7,
+    0x00a4,
+    0x2019,
+    0x201c,
+    0x00ab,
+    0x2039,
+    0x203a,
+    0xfb01,
+    0xfb02,
+    0x00ae,
+    0x2013,
+    0x2020,
+    0x2021,
+    0x00b7,
+    0x00a6,
+    0x00b6,
+    0x2022,
+    0x201a,
+    0x201e,
+    0x201d,
+    0x00bb,
+    0x2026,
+    0x2030,
+    0x00ac,
+    0x00bf,
+    0x00b9,
+    0x02cb,
+    0x00b4,
+    0x02c6,
+    0x02dc,
+    0x00af,
+    0x02d8,
+    0x02d9,
+    0x00a8,
+    0x00b2,
+    0x02da,
+    0x00b8,
+    0x00b3,
+    0x02dd,
+    0x02db,
+    0x02c7,
+    0x2014,
+    0x00b1,
+    0x00bc,
+    0x00bd,
+    0x00be,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00c6,
+    0x00ed,
+    0x00aa,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x00f1,
+    0x0141,
+    0x00d8,
+    0x0152,
+    0x00ba,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00e6,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x0131,
+    0x00fc,
+    0x00fd,
+    0x0142,
+    0x00f8,
+    0x0153,
+    0x00df,
+    0x00fe,
+    0x00ff,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xc2\xa0",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x90",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc2\xb5",
+    "\xc3\x97",
+    "\xc3\xb7",
+    "\xc2\xa9",
+    "\xc2\xa1",
+    "\xc2\xa2",
+    "\xc2\xa3",
+    "\xe2\x81\x84",
+    "\xc2\xa5",
+    "\xc6\x92",
+    "\xc2\xa7",
+    "\xc2\xa4",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xc2\xab",
+    "\xe2\x80\xb9",
+    "\xe2\x80\xba",
+    "\xef\xac\x81",
+    "\xef\xac\x82",
+    "\xc2\xae",
+    "\xe2\x80\x93",
+    "\xe2\x80\xa0",
+    "\xe2\x80\xa1",
+    "\xc2\xb7",
+    "\xc2\xa6",
+    "\xc2\xb6",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x9a",
+    "\xe2\x80\x9e",
+    "\xe2\x80\x9d",
+    "\xc2\xbb",
+    "\xe2\x80\xa6",
+    "\xe2\x80\xb0",
+    "\xc2\xac",
+    "\xc2\xbf",
+    "\xc2\xb9",
+    "\xcb\x8b",
+    "\xc2\xb4",
+    "\xcb\x86",
+    "\xcb\x9c",
+    "\xc2\xaf",
+    "\xcb\x98",
+    "\xcb\x99",
+    "\xc2\xa8",
+    "\xc2\xb2",
+    "\xcb\x9a",
+    "\xc2\xb8",
+    "\xc2\xb3",
+    "\xcb\x9d",
+    "\xcb\x9b",
+    "\xcb\x87",
+    "\xe2\x80\x94",
+    "\xc2\xb1",
+    "\xc2\xbc",
+    "\xc2\xbd",
+    "\xc2\xbe",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\x86",
+    "\xc3\xad",
+    "\xc2\xaa",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc5\x81",
+    "\xc3\x98",
+    "\xc5\x92",
+    "\xc2\xba",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xa6",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc4\xb1",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc5\x82",
+    "\xc3\xb8",
+    "\xc5\x93",
+    "\xc3\x9f",
+    "\xc3\xbe",
+    "\xc3\xbf",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\x80",
+    0x000000a1 => "\xa1",
+    0x000000a2 => "\xa2",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa8",
+    0x000000a5 => "\xa5",
+    0x000000a6 => "\xb5",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xc8",
+    0x000000a9 => "\xa0",
+    0x000000aa => "\xe3",
+    0x000000ab => "\xab",
+    0x000000ac => "\xbe",
+    0x000000ae => "\xb0",
+    0x000000af => "\xc5",
+    0x000000b1 => "\xd1",
+    0x000000b2 => "\xc9",
+    0x000000b3 => "\xcc",
+    0x000000b4 => "\xc2",
+    0x000000b5 => "\x9d",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb4",
+    0x000000b8 => "\xcb",
+    0x000000b9 => "\xc0",
+    0x000000ba => "\xeb",
+    0x000000bb => "\xbb",
+    0x000000bc => "\xd2",
+    0x000000bd => "\xd3",
+    0x000000be => "\xd4",
+    0x000000bf => "\xbf",
+    0x000000c0 => "\x81",
+    0x000000c1 => "\x82",
+    0x000000c2 => "\x83",
+    0x000000c3 => "\x84",
+    0x000000c4 => "\x85",
+    0x000000c5 => "\x86",
+    0x000000c6 => "\xe1",
+    0x000000c7 => "\x87",
+    0x000000c8 => "\x88",
+    0x000000c9 => "\x89",
+    0x000000ca => "\x8a",
+    0x000000cb => "\x8b",
+    0x000000cc => "\x8c",
+    0x000000cd => "\x8d",
+    0x000000ce => "\x8e",
+    0x000000cf => "\x8f",
+    0x000000d0 => "\x90",
+    0x000000d1 => "\x91",
+    0x000000d2 => "\x92",
+    0x000000d3 => "\x93",
+    0x000000d4 => "\x94",
+    0x000000d5 => "\x95",
+    0x000000d6 => "\x96",
+    0x000000d7 => "\x9e",
+    0x000000d8 => "\xe9",
+    0x000000d9 => "\x97",
+    0x000000da => "\x98",
+    0x000000db => "\x99",
+    0x000000dc => "\x9a",
+    0x000000dd => "\x9b",
+    0x000000de => "\x9c",
+    0x000000df => "\xfb",
+    0x000000e0 => "\xd5",
+    0x000000e1 => "\xd6",
+    0x000000e2 => "\xd7",
+    0x000000e3 => "\xd8",
+    0x000000e4 => "\xd9",
+    0x000000e5 => "\xda",
+    0x000000e6 => "\xf1",
+    0x000000e7 => "\xdb",
+    0x000000e8 => "\xdc",
+    0x000000e9 => "\xdd",
+    0x000000ea => "\xde",
+    0x000000eb => "\xdf",
+    0x000000ec => "\xe0",
+    0x000000ed => "\xe2",
+    0x000000ee => "\xe4",
+    0x000000ef => "\xe5",
+    0x000000f0 => "\xe6",
+    0x000000f1 => "\xe7",
+    0x000000f2 => "\xec",
+    0x000000f3 => "\xed",
+    0x000000f4 => "\xee",
+    0x000000f5 => "\xef",
+    0x000000f6 => "\xf0",
+    0x000000f7 => "\x9f",
+    0x000000f8 => "\xf9",
+    0x000000f9 => "\xf2",
+    0x000000fa => "\xf3",
+    0x000000fb => "\xf4",
+    0x000000fc => "\xf6",
+    0x000000fd => "\xf7",
+    0x000000fe => "\xfc",
+    0x000000ff => "\xfd",
+    0x00000131 => "\xf5",
+    0x00000141 => "\xe8",
+    0x00000142 => "\xf8",
+    0x00000152 => "\xea",
+    0x00000153 => "\xfa",
+    0x00000192 => "\xa6",
+    0x000002c6 => "\xc3",
+    0x000002c7 => "\xcf",
+    0x000002cb => "\xc1",
+    0x000002d8 => "\xc6",
+    0x000002d9 => "\xc7",
+    0x000002da => "\xca",
+    0x000002db => "\xce",
+    0x000002dc => "\xc4",
+    0x000002dd => "\xcd",
+    0x00002013 => "\xb1",
+    0x00002014 => "\xd0",
+    0x00002019 => "\xa9",
+    0x0000201a => "\xb8",
+    0x0000201c => "\xaa",
+    0x0000201d => "\xba",
+    0x0000201e => "\xb9",
+    0x00002020 => "\xb2",
+    0x00002021 => "\xb3",
+    0x00002022 => "\xb7",
+    0x00002026 => "\xbc",
+    0x00002030 => "\xbd",
+    0x00002039 => "\xac",
+    0x0000203a => "\xad",
+    0x00002044 => "\xa4",
+    0x0000fb01 => "\xae",
+    0x0000fb02 => "\xaf",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::NEXTSTEP - Conversion routines for NEXTSTEP
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for NEXTSTEP.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+
+ This charmap has been generated automatically from GNU libiconv
+ conversions.
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000000A0 | NO-BREAK SPACE
+    81 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    82 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    83 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    84 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    85 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    86 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    87 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    88 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    89 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    8A |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    8B |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    8C |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    8D |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    8E |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    8F |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    90 |  000000D0 | LATIN CAPITAL LETTER ETH
+    91 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    92 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    93 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    94 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    95 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    96 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    97 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    98 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    99 |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    9B |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    9C |  000000DE | LATIN CAPITAL LETTER THORN
+    9D |  000000B5 | MICRO SIGN
+    9E |  000000D7 | MULTIPLICATION SIGN
+    9F |  000000F7 | DIVISION SIGN
+    A0 |  000000A9 | COPYRIGHT SIGN
+    A1 |  000000A1 | INVERTED EXCLAMATION MARK
+    A2 |  000000A2 | CENT SIGN
+    A3 |  000000A3 | POUND SIGN
+    A4 |  00002044 | FRACTION SLASH
+    A5 |  000000A5 | YEN SIGN
+    A6 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A4 | CURRENCY SIGN
+    A9 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    AA |  0000201C | LEFT DOUBLE QUOTATION MARK
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    AD |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    AE |  0000FB01 | LATIN SMALL LIGATURE FI
+    AF |  0000FB02 | LATIN SMALL LIGATURE FL
+    B0 |  000000AE | REGISTERED SIGN
+    B1 |  00002013 | EN DASH
+    B2 |  00002020 | DAGGER
+    B3 |  00002021 | DOUBLE DAGGER
+    B4 |  000000B7 | MIDDLE DOT
+    B5 |  000000A6 | BROKEN BAR
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  00002022 | BULLET
+    B8 |  0000201A | SINGLE LOW-9 QUOTATION MARK
+    B9 |  0000201E | DOUBLE LOW-9 QUOTATION MARK
+    BA |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  00002026 | HORIZONTAL ELLIPSIS
+    BD |  00002030 | PER MILLE SIGN
+    BE |  000000AC | NOT SIGN
+    BF |  000000BF | INVERTED QUESTION MARK
+    C0 |  000000B9 | SUPERSCRIPT ONE
+    C1 |  000002CB | MODIFIER LETTER GRAVE ACCENT
+    C2 |  000000B4 | ACUTE ACCENT
+    C3 |  000002C6 | MODIFIER LETTER CIRCUMFLEX ACCENT
+    C4 |  000002DC | SMALL TILDE
+    C5 |  000000AF | MACRON
+    C6 |  000002D8 | BREVE
+    C7 |  000002D9 | DOT ABOVE
+    C8 |  000000A8 | DIAERESIS
+    C9 |  000000B2 | SUPERSCRIPT TWO
+    CA |  000002DA | RING ABOVE
+    CB |  000000B8 | CEDILLA
+    CC |  000000B3 | SUPERSCRIPT THREE
+    CD |  000002DD | DOUBLE ACUTE ACCENT
+    CE |  000002DB | OGONEK
+    CF |  000002C7 | CARON
+    D0 |  00002014 | EM DASH
+    D1 |  000000B1 | PLUS-MINUS SIGN
+    D2 |  000000BC | VULGAR FRACTION ONE QUARTER
+    D3 |  000000BD | VULGAR FRACTION ONE HALF
+    D4 |  000000BE | VULGAR FRACTION THREE QUARTERS
+    D5 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    D6 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    D7 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    D8 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    D9 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    DA |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    DB |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    DC |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    DD |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    DE |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    DF |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    E0 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    E1 |  000000C6 | LATIN CAPITAL LETTER AE
+    E2 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    E3 |  000000AA | FEMININE ORDINAL INDICATOR
+    E4 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    E5 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    E6 |  000000F0 | LATIN SMALL LETTER ETH
+    E7 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    E8 |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
+    E9 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    EA |  00000152 | LATIN CAPITAL LIGATURE OE
+    EB |  000000BA | MASCULINE ORDINAL INDICATOR
+    EC |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    ED |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    EE |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    EF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F0 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F1 |  000000E6 | LATIN SMALL LETTER AE
+    F2 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    F3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    F4 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    F5 |  00000131 | LATIN SMALL LETTER DOTLESS I
+    F6 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    F7 |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    F8 |  00000142 | LATIN SMALL LETTER L WITH STROKE
+    F9 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    FA |  00000153 | LATIN SMALL LIGATURE OE
+    FB |  000000DF | LATIN SMALL LETTER SHARP S
+    FC |  000000FE | LATIN SMALL LETTER THORN
+    FD |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/SAMI_WS2.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/SAMI_WS2.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/SAMI_WS2.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/SAMI_WS2.pm 12 Oct 2011 
23:51:49 -0000      1.1
@@ -0,0 +1,1137 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: SAMI_WS2.pm,v 1.1 2011/10/12 23:51:49 pertusus Exp $
+
+# Conversion routines for WIN-SAMI-2.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::SAMI_WS2;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x20ac,
+    0xfffd,
+    0x010c,
+    0x0192,
+    0x010d,
+    0x01b7,
+    0x0292,
+    0x01ee,
+    0x01ef,
+    0x0110,
+    0x0160,
+    0x2039,
+    0x0152,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x2018,
+    0x2019,
+    0x201c,
+    0x201d,
+    0x2022,
+    0x2013,
+    0x2014,
+    0x0111,
+    0x01e6,
+    0x0161,
+    0x203a,
+    0x0153,
+    0xfffd,
+    0xfffd,
+    0x0178,
+    0x00a0,
+    0x01e7,
+    0x01e4,
+    0x00a3,
+    0x00a4,
+    0x01e5,
+    0x00a6,
+    0x00a7,
+    0x00a8,
+    0x00a9,
+    0x021e,
+    0x00ab,
+    0x00ac,
+    0x00ad,
+    0x00ae,
+    0x021f,
+    0x00b0,
+    0x00b1,
+    0x01e8,
+    0x01e9,
+    0x00b4,
+    0x00b5,
+    0x00b6,
+    0x00b7,
+    0x014a,
+    0x014b,
+    0x0166,
+    0x00bb,
+    0x0167,
+    0x00bd,
+    0x017d,
+    0x017e,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x00c4,
+    0x00c5,
+    0x00c6,
+    0x00c7,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x00cb,
+    0x00cc,
+    0x00cd,
+    0x00ce,
+    0x00cf,
+    0x00d0,
+    0x00d1,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x00d5,
+    0x00d6,
+    0x00d7,
+    0x00d8,
+    0x00d9,
+    0x00da,
+    0x00db,
+    0x00dc,
+    0x00dd,
+    0x00de,
+    0x00df,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x00e4,
+    0x00e5,
+    0x00e6,
+    0x00e7,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x00eb,
+    0x00ec,
+    0x00ed,
+    0x00ee,
+    0x00ef,
+    0x00f0,
+    0x00f1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x00f6,
+    0x00f7,
+    0x00f8,
+    0x00f9,
+    0x00fa,
+    0x00fb,
+    0x00fc,
+    0x00fd,
+    0x00fe,
+    0x00ff,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe2\x82\xac",
+    "\xef\xbf\xbd",
+    "\xc4\x8c",
+    "\xc6\x92",
+    "\xc4\x8d",
+    "\xc6\xb7",
+    "\xca\x92",
+    "\xc7\xae",
+    "\xc7\xaf",
+    "\xc4\x90",
+    "\xc5\xa0",
+    "\xe2\x80\xb9",
+    "\xc5\x92",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe2\x80\x98",
+    "\xe2\x80\x99",
+    "\xe2\x80\x9c",
+    "\xe2\x80\x9d",
+    "\xe2\x80\xa2",
+    "\xe2\x80\x93",
+    "\xe2\x80\x94",
+    "\xc4\x91",
+    "\xc7\xa6",
+    "\xc5\xa1",
+    "\xe2\x80\xba",
+    "\xc5\x93",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xc5\xb8",
+    "\xc2\xa0",
+    "\xc7\xa7",
+    "\xc7\xa4",
+    "\xc2\xa3",
+    "\xc2\xa4",
+    "\xc7\xa5",
+    "\xc2\xa6",
+    "\xc2\xa7",
+    "\xc2\xa8",
+    "\xc2\xa9",
+    "\xc8\x9e",
+    "\xc2\xab",
+    "\xc2\xac",
+    "\xc2\xad",
+    "\xc2\xae",
+    "\xc8\x9f",
+    "\xc2\xb0",
+    "\xc2\xb1",
+    "\xc7\xa8",
+    "\xc7\xa9",
+    "\xc2\xb4",
+    "\xc2\xb5",
+    "\xc2\xb6",
+    "\xc2\xb7",
+    "\xc5\x8a",
+    "\xc5\x8b",
+    "\xc5\xa6",
+    "\xc2\xbb",
+    "\xc5\xa7",
+    "\xc2\xbd",
+    "\xc5\xbd",
+    "\xc5\xbe",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xc3\x84",
+    "\xc3\x85",
+    "\xc3\x86",
+    "\xc3\x87",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xc3\x8b",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc3\x8e",
+    "\xc3\x8f",
+    "\xc3\x90",
+    "\xc3\x91",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xc3\x95",
+    "\xc3\x96",
+    "\xc3\x97",
+    "\xc3\x98",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xc3\x9b",
+    "\xc3\x9c",
+    "\xc3\x9d",
+    "\xc3\x9e",
+    "\xc3\x9f",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xc3\xa4",
+    "\xc3\xa5",
+    "\xc3\xa6",
+    "\xc3\xa7",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xc3\xab",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc3\xae",
+    "\xc3\xaf",
+    "\xc3\xb0",
+    "\xc3\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xc3\xb6",
+    "\xc3\xb7",
+    "\xc3\xb8",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc3\xbb",
+    "\xc3\xbc",
+    "\xc3\xbd",
+    "\xc3\xbe",
+    "\xc3\xbf",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000a0 => "\xa0",
+    0x000000a3 => "\xa3",
+    0x000000a4 => "\xa4",
+    0x000000a6 => "\xa6",
+    0x000000a7 => "\xa7",
+    0x000000a8 => "\xa8",
+    0x000000a9 => "\xa9",
+    0x000000ab => "\xab",
+    0x000000ac => "\xac",
+    0x000000ad => "\xad",
+    0x000000ae => "\xae",
+    0x000000b0 => "\xb0",
+    0x000000b1 => "\xb1",
+    0x000000b4 => "\xb4",
+    0x000000b5 => "\xb5",
+    0x000000b6 => "\xb6",
+    0x000000b7 => "\xb7",
+    0x000000bb => "\xbb",
+    0x000000bd => "\xbd",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c4 => "\xc4",
+    0x000000c5 => "\xc5",
+    0x000000c6 => "\xc6",
+    0x000000c7 => "\xc7",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cb => "\xcb",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000ce => "\xce",
+    0x000000cf => "\xcf",
+    0x000000d0 => "\xd0",
+    0x000000d1 => "\xd1",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xd5",
+    0x000000d6 => "\xd6",
+    0x000000d7 => "\xd7",
+    0x000000d8 => "\xd8",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000db => "\xdb",
+    0x000000dc => "\xdc",
+    0x000000dd => "\xdd",
+    0x000000de => "\xde",
+    0x000000df => "\xdf",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e4 => "\xe4",
+    0x000000e5 => "\xe5",
+    0x000000e6 => "\xe6",
+    0x000000e7 => "\xe7",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000eb => "\xeb",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000ee => "\xee",
+    0x000000ef => "\xef",
+    0x000000f0 => "\xf0",
+    0x000000f1 => "\xf1",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f6 => "\xf6",
+    0x000000f7 => "\xf7",
+    0x000000f8 => "\xf8",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fb => "\xfb",
+    0x000000fc => "\xfc",
+    0x000000fd => "\xfd",
+    0x000000fe => "\xfe",
+    0x000000ff => "\xff",
+    0x0000010c => "\x82",
+    0x0000010d => "\x84",
+    0x00000110 => "\x89",
+    0x00000111 => "\x98",
+    0x0000014a => "\xb8",
+    0x0000014b => "\xb9",
+    0x00000152 => "\x8c",
+    0x00000153 => "\x9c",
+    0x00000160 => "\x8a",
+    0x00000161 => "\x9a",
+    0x00000166 => "\xba",
+    0x00000167 => "\xbc",
+    0x00000178 => "\x9f",
+    0x0000017d => "\xbe",
+    0x0000017e => "\xbf",
+    0x00000192 => "\x83",
+    0x000001b7 => "\x85",
+    0x000001e4 => "\xa2",
+    0x000001e5 => "\xa5",
+    0x000001e6 => "\x99",
+    0x000001e7 => "\xa1",
+    0x000001e8 => "\xb2",
+    0x000001e9 => "\xb3",
+    0x000001ee => "\x87",
+    0x000001ef => "\x88",
+    0x0000021e => "\xaa",
+    0x0000021f => "\xaf",
+    0x00000292 => "\x86",
+    0x00002013 => "\x96",
+    0x00002014 => "\x97",
+    0x00002018 => "\x91",
+    0x00002019 => "\x92",
+    0x0000201c => "\x93",
+    0x0000201d => "\x94",
+    0x00002022 => "\x95",
+    0x00002039 => "\x8b",
+    0x0000203a => "\x9b",
+    0x000020ac => "\x80",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::SAMI_WS2 - Conversion routines for SAMI_WS2
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for WIN-SAMI-2.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ source: E<lt>URL:http://www2.isl.uit.no/trond/ws2t.htmlE<gt> and
+         E<lt>URL:http://www.unicode.org/unicode/alloc/Pipeline.htmlE<gt>
+ author: Petter Reinholdtsen E<lt>address@hidden<gt>
+ date:   1999-01-20
+ based on info from Trond Trosterud E<lt>address@hidden<gt>.
+ This charmap is based on MS CP1252, not ISO 8859/1.
+ alias WS2
+ alias WINDOWS-SAMI2
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  000020AC | EURO SIGN
+    82 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
+    83 |  00000192 | LATIN SMALL LETTER F WITH HOOK
+    84 |  0000010D | LATIN SMALL LETTER C WITH CARON
+    85 |  000001B7 | LATIN CAPITAL LETTER EZH
+    86 |  00000292 | LATIN SMALL LETTER EZH
+    87 |  000001EE | LATIN CAPITAL LETTER EZH WITH CARON
+    88 |  000001EF | LATIN SMALL LETTER EZH WITH CARON
+    89 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    8A |  00000160 | LATIN CAPITAL LETTER S WITH CARON
+    8B |  00002039 | SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    8C |  00000152 | LATIN CAPITAL LIGATURE OE
+    91 |  00002018 | LEFT SINGLE QUOTATION MARK
+    92 |  00002019 | RIGHT SINGLE QUOTATION MARK
+    93 |  0000201C | LEFT DOUBLE QUOTATION MARK
+    94 |  0000201D | RIGHT DOUBLE QUOTATION MARK
+    95 |  00002022 | BULLET
+    96 |  00002013 | EN DASH
+    97 |  00002014 | EM DASH
+    98 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    99 |  000001E6 | LATIN CAPITAL LETTER G WITH CARON
+    9A |  00000161 | LATIN SMALL LETTER S WITH CARON
+    9B |  0000203A | SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    9C |  00000153 | LATIN SMALL LIGATURE OE
+    9F |  00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
+    A0 |  000000A0 | NO-BREAK SPACE
+    A1 |  000001E7 | LATIN SMALL LETTER G WITH CARON
+    A2 |  000001E4 | LATIN CAPITAL LETTER G WITH STROKE
+    A3 |  000000A3 | POUND SIGN
+    A4 |  000000A4 | CURRENCY SIGN
+    A5 |  000001E5 | LATIN SMALL LETTER G WITH STROKE
+    A6 |  000000A6 | BROKEN BAR
+    A7 |  000000A7 | SECTION SIGN
+    A8 |  000000A8 | DIAERESIS
+    A9 |  000000A9 | COPYRIGHT SIGN
+    AA |  0000021E | LATIN CAPITAL LETTER H WITH CARON
+    AB |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    AC |  000000AC | NOT SIGN
+    AD |  000000AD | SOFT HYPHEN
+    AE |  000000AE | REGISTERED SIGN
+    AF |  0000021F | LATIN SMALL LETTER H WITH CARON
+    B0 |  000000B0 | DEGREE SIGN
+    B1 |  000000B1 | PLUS-MINUS SIGN
+    B2 |  000001E8 | LATIN CAPITAL LETTER K WITH CARON
+    B3 |  000001E9 | LATIN SMALL LETTER K WITH CARON
+    B4 |  000000B4 | ACUTE ACCENT
+    B5 |  000000B5 | MICRO SIGN
+    B6 |  000000B6 | PILCROW SIGN
+    B7 |  000000B7 | MIDDLE DOT
+    B8 |  0000014A | LATIN CAPITAL LETTER ENG (Sami)
+    B9 |  0000014B | LATIN SMALL LETTER ENG (Sami)
+    BA |  00000166 | LATIN CAPITAL LETTER T WITH STROKE
+    BB |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    BC |  00000167 | LATIN SMALL LETTER T WITH STROKE
+    BD |  000000BD | VULGAR FRACTION ONE HALF
+    BE |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
+    BF |  0000017E | LATIN SMALL LETTER Z WITH CARON
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
+    C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
+    C6 |  000000C6 | LATIN CAPITAL LETTER AE
+    C7 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+    CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
+    D0 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
+    D1 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
+    D7 |  000000D7 | MULTIPLICATION SIGN
+    D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+    DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
+    DF |  000000DF | LATIN SMALL LETTER SHARP S (German)
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
+    E5 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
+    E6 |  000000E6 | LATIN SMALL LETTER AE
+    E7 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
+    EF |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
+    F0 |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
+    F1 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
+    F7 |  000000F7 | DIVISION SIGN
+    F8 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
+    FC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
+    FF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/TIS_620.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/TIS_620.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/TIS_620.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/TIS_620.pm  12 Oct 2011 
23:51:49 -0000      1.1
@@ -0,0 +1,1068 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: TIS_620.pm,v 1.1 2011/10/12 23:51:49 pertusus Exp $
+
+# Conversion routines for TIS-620.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::TIS_620;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x0002,
+    0x0003,
+    0x0004,
+    0x0005,
+    0x0006,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x0014,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x0019,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x001e,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0e01,
+    0x0e02,
+    0x0e03,
+    0x0e04,
+    0x0e05,
+    0x0e06,
+    0x0e07,
+    0x0e08,
+    0x0e09,
+    0x0e0a,
+    0x0e0b,
+    0x0e0c,
+    0x0e0d,
+    0x0e0e,
+    0x0e0f,
+    0x0e10,
+    0x0e11,
+    0x0e12,
+    0x0e13,
+    0x0e14,
+    0x0e15,
+    0x0e16,
+    0x0e17,
+    0x0e18,
+    0x0e19,
+    0x0e1a,
+    0x0e1b,
+    0x0e1c,
+    0x0e1d,
+    0x0e1e,
+    0x0e1f,
+    0x0e20,
+    0x0e21,
+    0x0e22,
+    0x0e23,
+    0x0e24,
+    0x0e25,
+    0x0e26,
+    0x0e27,
+    0x0e28,
+    0x0e29,
+    0x0e2a,
+    0x0e2b,
+    0x0e2c,
+    0x0e2d,
+    0x0e2e,
+    0x0e2f,
+    0x0e30,
+    0x0e31,
+    0x0e32,
+    0x0e33,
+    0x0e34,
+    0x0e35,
+    0x0e36,
+    0x0e37,
+    0x0e38,
+    0x0e39,
+    0x0e3a,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0x0e3f,
+    0x0e40,
+    0x0e41,
+    0x0e42,
+    0x0e43,
+    0x0e44,
+    0x0e45,
+    0x0e46,
+    0x0e47,
+    0x0e48,
+    0x0e49,
+    0x0e4a,
+    0x0e4b,
+    0x0e4c,
+    0x0e4d,
+    0x0e4e,
+    0x0e4f,
+    0x0e50,
+    0x0e51,
+    0x0e52,
+    0x0e53,
+    0x0e54,
+    0x0e55,
+    0x0e56,
+    0x0e57,
+    0x0e58,
+    0x0e59,
+    0x0e5a,
+    0x0e5b,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+    0xfffd,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\x02",
+    "\x03",
+    "\x04",
+    "\x05",
+    "\x06",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\x14",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\x19",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\x1e",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe0\xb8\x81",
+    "\xe0\xb8\x82",
+    "\xe0\xb8\x83",
+    "\xe0\xb8\x84",
+    "\xe0\xb8\x85",
+    "\xe0\xb8\x86",
+    "\xe0\xb8\x87",
+    "\xe0\xb8\x88",
+    "\xe0\xb8\x89",
+    "\xe0\xb8\x8a",
+    "\xe0\xb8\x8b",
+    "\xe0\xb8\x8c",
+    "\xe0\xb8\x8d",
+    "\xe0\xb8\x8e",
+    "\xe0\xb8\x8f",
+    "\xe0\xb8\x90",
+    "\xe0\xb8\x91",
+    "\xe0\xb8\x92",
+    "\xe0\xb8\x93",
+    "\xe0\xb8\x94",
+    "\xe0\xb8\x95",
+    "\xe0\xb8\x96",
+    "\xe0\xb8\x97",
+    "\xe0\xb8\x98",
+    "\xe0\xb8\x99",
+    "\xe0\xb8\x9a",
+    "\xe0\xb8\x9b",
+    "\xe0\xb8\x9c",
+    "\xe0\xb8\x9d",
+    "\xe0\xb8\x9e",
+    "\xe0\xb8\x9f",
+    "\xe0\xb8\xa0",
+    "\xe0\xb8\xa1",
+    "\xe0\xb8\xa2",
+    "\xe0\xb8\xa3",
+    "\xe0\xb8\xa4",
+    "\xe0\xb8\xa5",
+    "\xe0\xb8\xa6",
+    "\xe0\xb8\xa7",
+    "\xe0\xb8\xa8",
+    "\xe0\xb8\xa9",
+    "\xe0\xb8\xaa",
+    "\xe0\xb8\xab",
+    "\xe0\xb8\xac",
+    "\xe0\xb8\xad",
+    "\xe0\xb8\xae",
+    "\xe0\xb8\xaf",
+    "\xe0\xb8\xb0",
+    "\xe0\xb8\xb1",
+    "\xe0\xb8\xb2",
+    "\xe0\xb8\xb3",
+    "\xe0\xb8\xb4",
+    "\xe0\xb8\xb5",
+    "\xe0\xb8\xb6",
+    "\xe0\xb8\xb7",
+    "\xe0\xb8\xb8",
+    "\xe0\xb8\xb9",
+    "\xe0\xb8\xba",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xe0\xb8\xbf",
+    "\xe0\xb9\x80",
+    "\xe0\xb9\x81",
+    "\xe0\xb9\x82",
+    "\xe0\xb9\x83",
+    "\xe0\xb9\x84",
+    "\xe0\xb9\x85",
+    "\xe0\xb9\x86",
+    "\xe0\xb9\x87",
+    "\xe0\xb9\x88",
+    "\xe0\xb9\x89",
+    "\xe0\xb9\x8a",
+    "\xe0\xb9\x8b",
+    "\xe0\xb9\x8c",
+    "\xe0\xb9\x8d",
+    "\xe0\xb9\x8e",
+    "\xe0\xb9\x8f",
+    "\xe0\xb9\x90",
+    "\xe0\xb9\x91",
+    "\xe0\xb9\x92",
+    "\xe0\xb9\x93",
+    "\xe0\xb9\x94",
+    "\xe0\xb9\x95",
+    "\xe0\xb9\x96",
+    "\xe0\xb9\x97",
+    "\xe0\xb9\x98",
+    "\xe0\xb9\x99",
+    "\xe0\xb9\x9a",
+    "\xe0\xb9\x9b",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+    "\xef\xbf\xbd",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000002 => "\x02",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000005 => "\x05",
+    0x00000006 => "\x06",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000014 => "\x14",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x00000019 => "\x19",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001e => "\x1e",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x00000e01 => "\xa1",
+    0x00000e02 => "\xa2",
+    0x00000e03 => "\xa3",
+    0x00000e04 => "\xa4",
+    0x00000e05 => "\xa5",
+    0x00000e06 => "\xa6",
+    0x00000e07 => "\xa7",
+    0x00000e08 => "\xa8",
+    0x00000e09 => "\xa9",
+    0x00000e0a => "\xaa",
+    0x00000e0b => "\xab",
+    0x00000e0c => "\xac",
+    0x00000e0d => "\xad",
+    0x00000e0e => "\xae",
+    0x00000e0f => "\xaf",
+    0x00000e10 => "\xb0",
+    0x00000e11 => "\xb1",
+    0x00000e12 => "\xb2",
+    0x00000e13 => "\xb3",
+    0x00000e14 => "\xb4",
+    0x00000e15 => "\xb5",
+    0x00000e16 => "\xb6",
+    0x00000e17 => "\xb7",
+    0x00000e18 => "\xb8",
+    0x00000e19 => "\xb9",
+    0x00000e1a => "\xba",
+    0x00000e1b => "\xbb",
+    0x00000e1c => "\xbc",
+    0x00000e1d => "\xbd",
+    0x00000e1e => "\xbe",
+    0x00000e1f => "\xbf",
+    0x00000e20 => "\xc0",
+    0x00000e21 => "\xc1",
+    0x00000e22 => "\xc2",
+    0x00000e23 => "\xc3",
+    0x00000e24 => "\xc4",
+    0x00000e25 => "\xc5",
+    0x00000e26 => "\xc6",
+    0x00000e27 => "\xc7",
+    0x00000e28 => "\xc8",
+    0x00000e29 => "\xc9",
+    0x00000e2a => "\xca",
+    0x00000e2b => "\xcb",
+    0x00000e2c => "\xcc",
+    0x00000e2d => "\xcd",
+    0x00000e2e => "\xce",
+    0x00000e2f => "\xcf",
+    0x00000e30 => "\xd0",
+    0x00000e31 => "\xd1",
+    0x00000e32 => "\xd2",
+    0x00000e33 => "\xd3",
+    0x00000e34 => "\xd4",
+    0x00000e35 => "\xd5",
+    0x00000e36 => "\xd6",
+    0x00000e37 => "\xd7",
+    0x00000e38 => "\xd8",
+    0x00000e39 => "\xd9",
+    0x00000e3a => "\xda",
+    0x00000e3f => "\xdf",
+    0x00000e40 => "\xe0",
+    0x00000e41 => "\xe1",
+    0x00000e42 => "\xe2",
+    0x00000e43 => "\xe3",
+    0x00000e44 => "\xe4",
+    0x00000e45 => "\xe5",
+    0x00000e46 => "\xe6",
+    0x00000e47 => "\xe7",
+    0x00000e48 => "\xe8",
+    0x00000e49 => "\xe9",
+    0x00000e4a => "\xea",
+    0x00000e4b => "\xeb",
+    0x00000e4c => "\xec",
+    0x00000e4d => "\xed",
+    0x00000e4e => "\xee",
+    0x00000e4f => "\xef",
+    0x00000e50 => "\xf0",
+    0x00000e51 => "\xf1",
+    0x00000e52 => "\xf2",
+    0x00000e53 => "\xf3",
+    0x00000e54 => "\xf4",
+    0x00000e55 => "\xf5",
+    0x00000e56 => "\xf6",
+    0x00000e57 => "\xf7",
+    0x00000e58 => "\xf8",
+    0x00000e59 => "\xf9",
+    0x00000e5a => "\xfa",
+    0x00000e5b => "\xfb",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::TIS_620 - Conversion routines for TIS-620
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for TIS-620.
+
+=head1 COMMENTS
+
+The following comments have been extracted from the original charmap:
+
+ version: 1.0
+  sources: Thai Industrial Standards Institute, ECMA registry, IANA
+ alias TIS620
+ alias TIS620-0
+ alias TIS620.2529-1
+ alias TIS620.2533-0
+ alias ISO-IR-166
+
+Please note that aliases listed above are not necessarily valid!
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    A1 |  00000E01 | THAI CHARACTER KO KAI
+    A2 |  00000E02 | THAI CHARACTER KHO KHAI
+    A3 |  00000E03 | THAI CHARACTER KHO KHUAT
+    A4 |  00000E04 | THAI CHARACTER KHO KHWAI
+    A5 |  00000E05 | THAI CHARACTER KHO KHON
+    A6 |  00000E06 | THAI CHARACTER KHO RAKHANG
+    A7 |  00000E07 | THAI CHARACTER NGO NGU
+    A8 |  00000E08 | THAI CHARACTER CHO CHAN
+    A9 |  00000E09 | THAI CHARACTER CHO CHING
+    AA |  00000E0A | THAI CHARACTER CHO CHANG
+    AB |  00000E0B | THAI CHARACTER SO SO
+    AC |  00000E0C | THAI CHARACTER CHO CHOE
+    AD |  00000E0D | THAI CHARACTER YO YING
+    AE |  00000E0E | THAI CHARACTER DO CHADA
+    AF |  00000E0F | THAI CHARACTER TO PATAK
+    B0 |  00000E10 | THAI CHARACTER THO THAN
+    B1 |  00000E11 | THAI CHARACTER THO NANGMONTHO
+    B2 |  00000E12 | THAI CHARACTER THO PHUTHAO
+    B3 |  00000E13 | THAI CHARACTER NO NEN
+    B4 |  00000E14 | THAI CHARACTER DO DEK
+    B5 |  00000E15 | THAI CHARACTER TO TAO
+    B6 |  00000E16 | THAI CHARACTER THO THUNG
+    B7 |  00000E17 | THAI CHARACTER THO THAHAN
+    B8 |  00000E18 | THAI CHARACTER THO THONG
+    B9 |  00000E19 | THAI CHARACTER NO NU
+    BA |  00000E1A | THAI CHARACTER BO BAIMAI
+    BB |  00000E1B | THAI CHARACTER PO PLA
+    BC |  00000E1C | THAI CHARACTER PHO PHUNG
+    BD |  00000E1D | THAI CHARACTER FO FA
+    BE |  00000E1E | THAI CHARACTER PHO PHAN
+    BF |  00000E1F | THAI CHARACTER FO FAN
+    C0 |  00000E20 | THAI CHARACTER PHO SAMPHAO
+    C1 |  00000E21 | THAI CHARACTER MO MA
+    C2 |  00000E22 | THAI CHARACTER YO YAK
+    C3 |  00000E23 | THAI CHARACTER RO RUA
+    C4 |  00000E24 | THAI CHARACTER RU
+    C5 |  00000E25 | THAI CHARACTER LO LING
+    C6 |  00000E26 | THAI CHARACTER LU
+    C7 |  00000E27 | THAI CHARACTER WO WAEN
+    C8 |  00000E28 | THAI CHARACTER SO SALA
+    C9 |  00000E29 | THAI CHARACTER SO RUSI
+    CA |  00000E2A | THAI CHARACTER SO SUA
+    CB |  00000E2B | THAI CHARACTER HO HIP
+    CC |  00000E2C | THAI CHARACTER LO CHULA
+    CD |  00000E2D | THAI CHARACTER O ANG
+    CE |  00000E2E | THAI CHARACTER HO NOKHUK
+    CF |  00000E2F | THAI CHARACTER PAIYANNOI
+    D0 |  00000E30 | THAI CHARACTER SARA A
+    D1 |  00000E31 | THAI CHARACTER MAI HAN-AKAT
+    D2 |  00000E32 | THAI CHARACTER SARA AA
+    D3 |  00000E33 | THAI CHARACTER SARA AM
+    D4 |  00000E34 | THAI CHARACTER SARA I
+    D5 |  00000E35 | THAI CHARACTER SARA II
+    D6 |  00000E36 | THAI CHARACTER SARA UE
+    D7 |  00000E37 | THAI CHARACTER SARA UEE
+    D8 |  00000E38 | THAI CHARACTER SARA U
+    D9 |  00000E39 | THAI CHARACTER SARA UU
+    DA |  00000E3A | THAI CHARACTER PHINTHU
+    DF |  00000E3F | THAI CHARACTER SYMBOL BAHT
+    E0 |  00000E40 | THAI CHARACTER SARA E
+    E1 |  00000E41 | THAI CHARACTER SARA AE
+    E2 |  00000E42 | THAI CHARACTER SARA O
+    E3 |  00000E43 | THAI CHARACTER SARA AI MAIMUAN
+    E4 |  00000E44 | THAI CHARACTER SARA AI MAIMALAI
+    E5 |  00000E45 | THAI CHARACTER LAKKHANGYAO
+    E6 |  00000E46 | THAI CHARACTER MAIYAMOK
+    E7 |  00000E47 | THAI CHARACTER MAITAIKHU
+    E8 |  00000E48 | THAI CHARACTER MAI EK
+    E9 |  00000E49 | THAI CHARACTER MAI THO
+    EA |  00000E4A | THAI CHARACTER MAI TRI
+    EB |  00000E4B | THAI CHARACTER MAI CHATTAWA
+    EC |  00000E4C | THAI CHARACTER THANTHAKHAT
+    ED |  00000E4D | THAI CHARACTER NIKHAHIT
+    EE |  00000E4E | THAI CHARACTER YAMAKKAN
+    EF |  00000E4F | THAI CHARACTER FONGMAN
+    F0 |  00000E50 | THAI DIGIT ZERO
+    F1 |  00000E51 | THAI DIGIT ONE
+    F2 |  00000E52 | THAI DIGIT TWO
+    F3 |  00000E53 | THAI DIGIT THREE
+    F4 |  00000E54 | THAI DIGIT FOUR
+    F5 |  00000E55 | THAI DIGIT FIVE
+    F6 |  00000E56 | THAI DIGIT SIX
+    F7 |  00000E57 | THAI DIGIT SEVEN
+    F8 |  00000E58 | THAI DIGIT EIGHT
+    F9 |  00000E59 | THAI DIGIT NINE
+    FA |  00000E5A | THAI CHARACTER ANGKHANKHU
+    FB |  00000E5B | THAI CHARACTER KHOMUT
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/US_ASCII.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/US_ASCII.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/US_ASCII.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/US_ASCII.pm 12 Oct 2011 
23:51:49 -0000      1.1
@@ -0,0 +1,227 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+
+# Conversion routines for US-ASCII.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::US_ASCII;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               # FIXME: Maybe the lookup is cheaper than the call to chr().
+               $_[1] = join '', 
+                   map $_ > 0x7f ? '?' : chr $_,
+                           @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8') {
+               # FIXME: Maybe the lookup is cheaper than the call to chr().
+               $_[1] = join '', 
+                   map $_ > 0x7f ? "\xef\xbf\xbd" : chr $_, unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map { $_ > 0x7f ? 0xfffd : $_ } unpack 'C*', $_[1] ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::US_ASCII - Conversion routines for US-ASCII
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module contains the conversion tables and routines for US-ASCII.
+
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00000002 | START OF TEXT (STX)
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00000005 | ENQUIRY (ENQ)
+    06 |  00000006 | ACKNOWLEDGE (ACK)
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00000014 | DEVICE CONTROL FOUR (DC4)
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00000019 | END OF MEDIUM (EM)
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  0000001E | RECORD SEPARATOR (IS2)
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/UTF_8.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/UTF_8.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/UTF_8.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/UTF_8.pm    12 Oct 2011 
23:51:50 -0000      1.1
@@ -0,0 +1,196 @@
+#! /bin/false
+
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: UTF_8.pm,v 1.1 2011/10/12 23:51:50 pertusus Exp $
+
+# Conversion routines for UTF-8 (perl < 5.8.0).
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::UTF_8;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+       return $_[0]->_fromInternal ($_[1]);
+    } else {
+       return $_[0]->_toInternal ($_[1]);
+    }
+}
+
+# This routine assumes that the internal representation is always sane
+# and contains valid codes only.
+sub _fromInternal
+{
+    $_[1] = join '', map {
+       if ($_ <= 0x7f) {
+           chr $_;
+       } elsif ($_ <= 0x7ff) {
+           pack ("C2", 
+                 (0xc0 | (($_ >> 6) & 0x1f)),
+                 (0x80 | ($_ & 0x3f)));
+       } elsif ($_ <= 0xffff) {
+           pack ("C3", 
+                 (0xe0 | (($_ >> 12) & 0xf)),
+                 (0x80 | (($_ >> 6) & 0x3f)),
+                 (0x80 | ($_ & 0x3f)));
+       } elsif ($_ <= 0x1fffff) {
+           pack ("C4", 
+                 (0xf0 | (($_ >> 18) & 0x7)),
+                 (0x80 | (($_ >> 12) & 0x3f)),
+                 (0x80 | (($_ >> 6) & 0x3f)),
+                 (0x80 | ($_ & 0x3f)));
+       } elsif ($_ <= 0x3ffffff) {
+           pack ("C5", 
+                 (0xf0 | (($_ >> 24) & 0x3)),
+                 (0x80 | (($_ >> 18) & 0x3f)),
+                 (0x80 | (($_ >> 12) & 0x3f)),
+                 (0x80 | (($_ >> 6) & 0x3f)),
+                 (0x80 | ($_ & 0x3f)));
+       } else {
+           pack ("C6", 
+                 (0xf0 | (($_ >> 30) & 0x3)),
+                 (0x80 | (($_ >> 24) & 0x1)),
+                 (0x80 | (($_ >> 18) & 0x3f)),
+                 (0x80 | (($_ >> 12) & 0x3f)),
+                 (0x80 | (($_ >> 6) & 0x3f)),
+                 (0x80 | ($_ & 0x3f)));
+       }
+    } @{$_[1]};
+    return 1;
+}
+
+# Decode UTF-8 into integers.  We do not bother to care about possibly
+# configured replacement characters here and simply fall back to 0xfffd.
+# Rationale: the internal format is never output directly and the other
+# encoders will handle the replacement character correctly.
+sub _toInternal
+{
+    if ($] >= 5.006) {
+       $_[1] = [ unpack "U*", $_[1] ];
+       return 1;
+    }
+
+    # Sigh, we have to decode ourselves.  FIXME: Should be optimized.
+    # The routine is awfully slow.
+    # It also does not necessarily detect illegal multi-byte sequences.
+
+    my @chars = ();
+    my @bytes = unpack "C*", $_[1];
+
+    BYTE: while (@bytes) {
+       my $byte = shift @bytes;
+        if ($byte < 0x80) {
+            push @chars, $byte;
+        } elsif ($byte < 0xc0 || $byte > 0xfd) {
+            push @chars, 0xfffd;
+        } else {
+            my $num_bytes;
+            my $char;
+            if ($byte < 0xe0) {
+                $char = $byte & 0x1f;
+                $num_bytes = 1;
+            } elsif ($byte < 0xf0) {
+                $char = $byte & 0xf;
+                $num_bytes = 2;
+            } elsif ($byte < 0xf8) {
+                $char = $byte & 0x7;
+                $num_bytes = 3;
+            } elsif ($byte < 0xfc) {
+                $char = $byte & 0x3;
+                $num_bytes = 4;
+            } else {
+                $char = $byte & 0x1;
+                $num_bytes = 5;
+            }
+            for (my $i = 0; $i < $num_bytes; ++$i) {
+                my $next = shift @bytes;
+                if (!defined $next || $next < 0x80 || $next > 0xbf) {
+                    push @chars, 0xfffd;
+                    next BYTE;
+                } else {
+                    $char <<= 6;
+                    $char |= $next & 0x3f;
+                }
+            }
+            push @chars, $char;
+        }
+    }
+    
+    $_[1] = address@hidden;
+    
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::UTF_8 - Conversion routines for UTF-8
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This modules contains the conversion tables for UTF-8.  It is capable of
+converting from UTF-8 to the internal format of libintl-perl and vice
+versa.   It is only suitable for Perl versions E<lt>= 5.8.0.  However,
+you do not have to bother about version checking, Locale::Recode(3)
+will do that for you.
+
+
+=head1 CHARACTER TABLE
+
+See http://www.unicode.org/.
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/VISCII.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/VISCII.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/VISCII.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/VISCII.pm   12 Oct 2011 
23:51:50 -0000      1.1
@@ -0,0 +1,1135 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: VISCII.pm,v 1.1 2011/10/12 23:51:50 pertusus Exp $
+
+# Conversion routines for VISCII.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, all
+# rights reserved.
+# This file is generated, do not edit!
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::VISCII;
+
+use strict;
+
+require Locale::RecodeData;
+use base qw(Locale::RecodeData);
+
+my @to_ucs4 = (
+    0x0000,
+    0x0001,
+    0x1eb2,
+    0x0003,
+    0x0004,
+    0x1eb4,
+    0x1eaa,
+    0x0007,
+    0x0008,
+    0x0009,
+    0x000a,
+    0x000b,
+    0x000c,
+    0x000d,
+    0x000e,
+    0x000f,
+    0x0010,
+    0x0011,
+    0x0012,
+    0x0013,
+    0x1ef6,
+    0x0015,
+    0x0016,
+    0x0017,
+    0x0018,
+    0x1ef8,
+    0x001a,
+    0x001b,
+    0x001c,
+    0x001d,
+    0x1ef4,
+    0x001f,
+    0x0020,
+    0x0021,
+    0x0022,
+    0x0023,
+    0x0024,
+    0x0025,
+    0x0026,
+    0x0027,
+    0x0028,
+    0x0029,
+    0x002a,
+    0x002b,
+    0x002c,
+    0x002d,
+    0x002e,
+    0x002f,
+    0x0030,
+    0x0031,
+    0x0032,
+    0x0033,
+    0x0034,
+    0x0035,
+    0x0036,
+    0x0037,
+    0x0038,
+    0x0039,
+    0x003a,
+    0x003b,
+    0x003c,
+    0x003d,
+    0x003e,
+    0x003f,
+    0x0040,
+    0x0041,
+    0x0042,
+    0x0043,
+    0x0044,
+    0x0045,
+    0x0046,
+    0x0047,
+    0x0048,
+    0x0049,
+    0x004a,
+    0x004b,
+    0x004c,
+    0x004d,
+    0x004e,
+    0x004f,
+    0x0050,
+    0x0051,
+    0x0052,
+    0x0053,
+    0x0054,
+    0x0055,
+    0x0056,
+    0x0057,
+    0x0058,
+    0x0059,
+    0x005a,
+    0x005b,
+    0x005c,
+    0x005d,
+    0x005e,
+    0x005f,
+    0x0060,
+    0x0061,
+    0x0062,
+    0x0063,
+    0x0064,
+    0x0065,
+    0x0066,
+    0x0067,
+    0x0068,
+    0x0069,
+    0x006a,
+    0x006b,
+    0x006c,
+    0x006d,
+    0x006e,
+    0x006f,
+    0x0070,
+    0x0071,
+    0x0072,
+    0x0073,
+    0x0074,
+    0x0075,
+    0x0076,
+    0x0077,
+    0x0078,
+    0x0079,
+    0x007a,
+    0x007b,
+    0x007c,
+    0x007d,
+    0x007e,
+    0x007f,
+    0x1ea0,
+    0x1eae,
+    0x1eb0,
+    0x1eb6,
+    0x1ea4,
+    0x1ea6,
+    0x1ea8,
+    0x1eac,
+    0x1ebc,
+    0x1eb8,
+    0x1ebe,
+    0x1ec0,
+    0x1ec2,
+    0x1ec4,
+    0x1ec6,
+    0x1ed0,
+    0x1ed2,
+    0x1ed4,
+    0x1ed6,
+    0x1ed8,
+    0x1ee2,
+    0x1eda,
+    0x1edc,
+    0x1ede,
+    0x1eca,
+    0x1ece,
+    0x1ecc,
+    0x1ec8,
+    0x1ee6,
+    0x0168,
+    0x1ee4,
+    0x1ef2,
+    0x00d5,
+    0x1eaf,
+    0x1eb1,
+    0x1eb7,
+    0x1ea5,
+    0x1ea7,
+    0x1ea9,
+    0x1ead,
+    0x1ebd,
+    0x1eb9,
+    0x1ebf,
+    0x1ec1,
+    0x1ec3,
+    0x1ec5,
+    0x1ec7,
+    0x1ed1,
+    0x1ed3,
+    0x1ed5,
+    0x1ed7,
+    0x1ee0,
+    0x01a0,
+    0x1ed9,
+    0x1edd,
+    0x1edf,
+    0x1ecb,
+    0x1ef0,
+    0x1ee8,
+    0x1eea,
+    0x1eec,
+    0x01a1,
+    0x1edb,
+    0x01af,
+    0x00c0,
+    0x00c1,
+    0x00c2,
+    0x00c3,
+    0x1ea2,
+    0x0102,
+    0x1eb3,
+    0x1eb5,
+    0x00c8,
+    0x00c9,
+    0x00ca,
+    0x1eba,
+    0x00cc,
+    0x00cd,
+    0x0128,
+    0x1ef3,
+    0x0110,
+    0x1ee9,
+    0x00d2,
+    0x00d3,
+    0x00d4,
+    0x1ea1,
+    0x1ef7,
+    0x1eeb,
+    0x1eed,
+    0x00d9,
+    0x00da,
+    0x1ef9,
+    0x1ef5,
+    0x00dd,
+    0x1ee1,
+    0x01b0,
+    0x00e0,
+    0x00e1,
+    0x00e2,
+    0x00e3,
+    0x1ea3,
+    0x0103,
+    0x1eef,
+    0x1eab,
+    0x00e8,
+    0x00e9,
+    0x00ea,
+    0x1ebb,
+    0x00ec,
+    0x00ed,
+    0x0129,
+    0x1ec9,
+    0x0111,
+    0x1ef1,
+    0x00f2,
+    0x00f3,
+    0x00f4,
+    0x00f5,
+    0x1ecf,
+    0x1ecd,
+    0x1ee5,
+    0x00f9,
+    0x00fa,
+    0x0169,
+    0x1ee7,
+    0x00fd,
+    0x1ee3,
+    0x1eee,
+);
+
+my @to_utf8 = (
+    "\x00",
+    "\x01",
+    "\xe1\xba\xb2",
+    "\x03",
+    "\x04",
+    "\xe1\xba\xb4",
+    "\xe1\xba\xaa",
+    "\x07",
+    "\x08",
+    "\x09",
+    "\x0a",
+    "\x0b",
+    "\x0c",
+    "\x0d",
+    "\x0e",
+    "\x0f",
+    "\x10",
+    "\x11",
+    "\x12",
+    "\x13",
+    "\xe1\xbb\xb6",
+    "\x15",
+    "\x16",
+    "\x17",
+    "\x18",
+    "\xe1\xbb\xb8",
+    "\x1a",
+    "\x1b",
+    "\x1c",
+    "\x1d",
+    "\xe1\xbb\xb4",
+    "\x1f",
+    "\x20",
+    "\x21",
+    "\x22",
+    "\x23",
+    "\x24",
+    "\x25",
+    "\x26",
+    "\x27",
+    "\x28",
+    "\x29",
+    "\x2a",
+    "\x2b",
+    "\x2c",
+    "\x2d",
+    "\x2e",
+    "\x2f",
+    "\x30",
+    "\x31",
+    "\x32",
+    "\x33",
+    "\x34",
+    "\x35",
+    "\x36",
+    "\x37",
+    "\x38",
+    "\x39",
+    "\x3a",
+    "\x3b",
+    "\x3c",
+    "\x3d",
+    "\x3e",
+    "\x3f",
+    "\x40",
+    "\x41",
+    "\x42",
+    "\x43",
+    "\x44",
+    "\x45",
+    "\x46",
+    "\x47",
+    "\x48",
+    "\x49",
+    "\x4a",
+    "\x4b",
+    "\x4c",
+    "\x4d",
+    "\x4e",
+    "\x4f",
+    "\x50",
+    "\x51",
+    "\x52",
+    "\x53",
+    "\x54",
+    "\x55",
+    "\x56",
+    "\x57",
+    "\x58",
+    "\x59",
+    "\x5a",
+    "\x5b",
+    "\x5c",
+    "\x5d",
+    "\x5e",
+    "\x5f",
+    "\x60",
+    "\x61",
+    "\x62",
+    "\x63",
+    "\x64",
+    "\x65",
+    "\x66",
+    "\x67",
+    "\x68",
+    "\x69",
+    "\x6a",
+    "\x6b",
+    "\x6c",
+    "\x6d",
+    "\x6e",
+    "\x6f",
+    "\x70",
+    "\x71",
+    "\x72",
+    "\x73",
+    "\x74",
+    "\x75",
+    "\x76",
+    "\x77",
+    "\x78",
+    "\x79",
+    "\x7a",
+    "\x7b",
+    "\x7c",
+    "\x7d",
+    "\x7e",
+    "\x7f",
+    "\xe1\xba\xa0",
+    "\xe1\xba\xae",
+    "\xe1\xba\xb0",
+    "\xe1\xba\xb6",
+    "\xe1\xba\xa4",
+    "\xe1\xba\xa6",
+    "\xe1\xba\xa8",
+    "\xe1\xba\xac",
+    "\xe1\xba\xbc",
+    "\xe1\xba\xb8",
+    "\xe1\xba\xbe",
+    "\xe1\xbb\x80",
+    "\xe1\xbb\x82",
+    "\xe1\xbb\x84",
+    "\xe1\xbb\x86",
+    "\xe1\xbb\x90",
+    "\xe1\xbb\x92",
+    "\xe1\xbb\x94",
+    "\xe1\xbb\x96",
+    "\xe1\xbb\x98",
+    "\xe1\xbb\xa2",
+    "\xe1\xbb\x9a",
+    "\xe1\xbb\x9c",
+    "\xe1\xbb\x9e",
+    "\xe1\xbb\x8a",
+    "\xe1\xbb\x8e",
+    "\xe1\xbb\x8c",
+    "\xe1\xbb\x88",
+    "\xe1\xbb\xa6",
+    "\xc5\xa8",
+    "\xe1\xbb\xa4",
+    "\xe1\xbb\xb2",
+    "\xc3\x95",
+    "\xe1\xba\xaf",
+    "\xe1\xba\xb1",
+    "\xe1\xba\xb7",
+    "\xe1\xba\xa5",
+    "\xe1\xba\xa7",
+    "\xe1\xba\xa9",
+    "\xe1\xba\xad",
+    "\xe1\xba\xbd",
+    "\xe1\xba\xb9",
+    "\xe1\xba\xbf",
+    "\xe1\xbb\x81",
+    "\xe1\xbb\x83",
+    "\xe1\xbb\x85",
+    "\xe1\xbb\x87",
+    "\xe1\xbb\x91",
+    "\xe1\xbb\x93",
+    "\xe1\xbb\x95",
+    "\xe1\xbb\x97",
+    "\xe1\xbb\xa0",
+    "\xc6\xa0",
+    "\xe1\xbb\x99",
+    "\xe1\xbb\x9d",
+    "\xe1\xbb\x9f",
+    "\xe1\xbb\x8b",
+    "\xe1\xbb\xb0",
+    "\xe1\xbb\xa8",
+    "\xe1\xbb\xaa",
+    "\xe1\xbb\xac",
+    "\xc6\xa1",
+    "\xe1\xbb\x9b",
+    "\xc6\xaf",
+    "\xc3\x80",
+    "\xc3\x81",
+    "\xc3\x82",
+    "\xc3\x83",
+    "\xe1\xba\xa2",
+    "\xc4\x82",
+    "\xe1\xba\xb3",
+    "\xe1\xba\xb5",
+    "\xc3\x88",
+    "\xc3\x89",
+    "\xc3\x8a",
+    "\xe1\xba\xba",
+    "\xc3\x8c",
+    "\xc3\x8d",
+    "\xc4\xa8",
+    "\xe1\xbb\xb3",
+    "\xc4\x90",
+    "\xe1\xbb\xa9",
+    "\xc3\x92",
+    "\xc3\x93",
+    "\xc3\x94",
+    "\xe1\xba\xa1",
+    "\xe1\xbb\xb7",
+    "\xe1\xbb\xab",
+    "\xe1\xbb\xad",
+    "\xc3\x99",
+    "\xc3\x9a",
+    "\xe1\xbb\xb9",
+    "\xe1\xbb\xb5",
+    "\xc3\x9d",
+    "\xe1\xbb\xa1",
+    "\xc6\xb0",
+    "\xc3\xa0",
+    "\xc3\xa1",
+    "\xc3\xa2",
+    "\xc3\xa3",
+    "\xe1\xba\xa3",
+    "\xc4\x83",
+    "\xe1\xbb\xaf",
+    "\xe1\xba\xab",
+    "\xc3\xa8",
+    "\xc3\xa9",
+    "\xc3\xaa",
+    "\xe1\xba\xbb",
+    "\xc3\xac",
+    "\xc3\xad",
+    "\xc4\xa9",
+    "\xe1\xbb\x89",
+    "\xc4\x91",
+    "\xe1\xbb\xb1",
+    "\xc3\xb2",
+    "\xc3\xb3",
+    "\xc3\xb4",
+    "\xc3\xb5",
+    "\xe1\xbb\x8f",
+    "\xe1\xbb\x8d",
+    "\xe1\xbb\xa5",
+    "\xc3\xb9",
+    "\xc3\xba",
+    "\xc5\xa9",
+    "\xe1\xbb\xa7",
+    "\xc3\xbd",
+    "\xe1\xbb\xa3",
+    "\xe1\xbb\xae",
+);
+
+my %from_ucs4 = (
+    0x00000000 => "\x00",
+    0x00000001 => "\x01",
+    0x00000003 => "\x03",
+    0x00000004 => "\x04",
+    0x00000007 => "\x07",
+    0x00000008 => "\x08",
+    0x00000009 => "\x09",
+    0x0000000a => "\x0a",
+    0x0000000b => "\x0b",
+    0x0000000c => "\x0c",
+    0x0000000d => "\x0d",
+    0x0000000e => "\x0e",
+    0x0000000f => "\x0f",
+    0x00000010 => "\x10",
+    0x00000011 => "\x11",
+    0x00000012 => "\x12",
+    0x00000013 => "\x13",
+    0x00000015 => "\x15",
+    0x00000016 => "\x16",
+    0x00000017 => "\x17",
+    0x00000018 => "\x18",
+    0x0000001a => "\x1a",
+    0x0000001b => "\x1b",
+    0x0000001c => "\x1c",
+    0x0000001d => "\x1d",
+    0x0000001f => "\x1f",
+    0x00000020 => "\x20",
+    0x00000021 => "\x21",
+    0x00000022 => "\x22",
+    0x00000023 => "\x23",
+    0x00000024 => "\x24",
+    0x00000025 => "\x25",
+    0x00000026 => "\x26",
+    0x00000027 => "\x27",
+    0x00000028 => "\x28",
+    0x00000029 => "\x29",
+    0x0000002a => "\x2a",
+    0x0000002b => "\x2b",
+    0x0000002c => "\x2c",
+    0x0000002d => "\x2d",
+    0x0000002e => "\x2e",
+    0x0000002f => "\x2f",
+    0x00000030 => "\x30",
+    0x00000031 => "\x31",
+    0x00000032 => "\x32",
+    0x00000033 => "\x33",
+    0x00000034 => "\x34",
+    0x00000035 => "\x35",
+    0x00000036 => "\x36",
+    0x00000037 => "\x37",
+    0x00000038 => "\x38",
+    0x00000039 => "\x39",
+    0x0000003a => "\x3a",
+    0x0000003b => "\x3b",
+    0x0000003c => "\x3c",
+    0x0000003d => "\x3d",
+    0x0000003e => "\x3e",
+    0x0000003f => "\x3f",
+    0x00000040 => "\x40",
+    0x00000041 => "\x41",
+    0x00000042 => "\x42",
+    0x00000043 => "\x43",
+    0x00000044 => "\x44",
+    0x00000045 => "\x45",
+    0x00000046 => "\x46",
+    0x00000047 => "\x47",
+    0x00000048 => "\x48",
+    0x00000049 => "\x49",
+    0x0000004a => "\x4a",
+    0x0000004b => "\x4b",
+    0x0000004c => "\x4c",
+    0x0000004d => "\x4d",
+    0x0000004e => "\x4e",
+    0x0000004f => "\x4f",
+    0x00000050 => "\x50",
+    0x00000051 => "\x51",
+    0x00000052 => "\x52",
+    0x00000053 => "\x53",
+    0x00000054 => "\x54",
+    0x00000055 => "\x55",
+    0x00000056 => "\x56",
+    0x00000057 => "\x57",
+    0x00000058 => "\x58",
+    0x00000059 => "\x59",
+    0x0000005a => "\x5a",
+    0x0000005b => "\x5b",
+    0x0000005c => "\x5c",
+    0x0000005d => "\x5d",
+    0x0000005e => "\x5e",
+    0x0000005f => "\x5f",
+    0x00000060 => "\x60",
+    0x00000061 => "\x61",
+    0x00000062 => "\x62",
+    0x00000063 => "\x63",
+    0x00000064 => "\x64",
+    0x00000065 => "\x65",
+    0x00000066 => "\x66",
+    0x00000067 => "\x67",
+    0x00000068 => "\x68",
+    0x00000069 => "\x69",
+    0x0000006a => "\x6a",
+    0x0000006b => "\x6b",
+    0x0000006c => "\x6c",
+    0x0000006d => "\x6d",
+    0x0000006e => "\x6e",
+    0x0000006f => "\x6f",
+    0x00000070 => "\x70",
+    0x00000071 => "\x71",
+    0x00000072 => "\x72",
+    0x00000073 => "\x73",
+    0x00000074 => "\x74",
+    0x00000075 => "\x75",
+    0x00000076 => "\x76",
+    0x00000077 => "\x77",
+    0x00000078 => "\x78",
+    0x00000079 => "\x79",
+    0x0000007a => "\x7a",
+    0x0000007b => "\x7b",
+    0x0000007c => "\x7c",
+    0x0000007d => "\x7d",
+    0x0000007e => "\x7e",
+    0x0000007f => "\x7f",
+    0x000000c0 => "\xc0",
+    0x000000c1 => "\xc1",
+    0x000000c2 => "\xc2",
+    0x000000c3 => "\xc3",
+    0x000000c8 => "\xc8",
+    0x000000c9 => "\xc9",
+    0x000000ca => "\xca",
+    0x000000cc => "\xcc",
+    0x000000cd => "\xcd",
+    0x000000d2 => "\xd2",
+    0x000000d3 => "\xd3",
+    0x000000d4 => "\xd4",
+    0x000000d5 => "\xa0",
+    0x000000d9 => "\xd9",
+    0x000000da => "\xda",
+    0x000000dd => "\xdd",
+    0x000000e0 => "\xe0",
+    0x000000e1 => "\xe1",
+    0x000000e2 => "\xe2",
+    0x000000e3 => "\xe3",
+    0x000000e8 => "\xe8",
+    0x000000e9 => "\xe9",
+    0x000000ea => "\xea",
+    0x000000ec => "\xec",
+    0x000000ed => "\xed",
+    0x000000f2 => "\xf2",
+    0x000000f3 => "\xf3",
+    0x000000f4 => "\xf4",
+    0x000000f5 => "\xf5",
+    0x000000f9 => "\xf9",
+    0x000000fa => "\xfa",
+    0x000000fd => "\xfd",
+    0x00000102 => "\xc5",
+    0x00000103 => "\xe5",
+    0x00000110 => "\xd0",
+    0x00000111 => "\xf0",
+    0x00000128 => "\xce",
+    0x00000129 => "\xee",
+    0x00000168 => "\x9d",
+    0x00000169 => "\xfb",
+    0x000001a0 => "\xb4",
+    0x000001a1 => "\xbd",
+    0x000001af => "\xbf",
+    0x000001b0 => "\xdf",
+    0x00001ea0 => "\x80",
+    0x00001ea1 => "\xd5",
+    0x00001ea2 => "\xc4",
+    0x00001ea3 => "\xe4",
+    0x00001ea4 => "\x84",
+    0x00001ea5 => "\xa4",
+    0x00001ea6 => "\x85",
+    0x00001ea7 => "\xa5",
+    0x00001ea8 => "\x86",
+    0x00001ea9 => "\xa6",
+    0x00001eaa => "\x06",
+    0x00001eab => "\xe7",
+    0x00001eac => "\x87",
+    0x00001ead => "\xa7",
+    0x00001eae => "\x81",
+    0x00001eaf => "\xa1",
+    0x00001eb0 => "\x82",
+    0x00001eb1 => "\xa2",
+    0x00001eb2 => "\x02",
+    0x00001eb3 => "\xc6",
+    0x00001eb4 => "\x05",
+    0x00001eb5 => "\xc7",
+    0x00001eb6 => "\x83",
+    0x00001eb7 => "\xa3",
+    0x00001eb8 => "\x89",
+    0x00001eb9 => "\xa9",
+    0x00001eba => "\xcb",
+    0x00001ebb => "\xeb",
+    0x00001ebc => "\x88",
+    0x00001ebd => "\xa8",
+    0x00001ebe => "\x8a",
+    0x00001ebf => "\xaa",
+    0x00001ec0 => "\x8b",
+    0x00001ec1 => "\xab",
+    0x00001ec2 => "\x8c",
+    0x00001ec3 => "\xac",
+    0x00001ec4 => "\x8d",
+    0x00001ec5 => "\xad",
+    0x00001ec6 => "\x8e",
+    0x00001ec7 => "\xae",
+    0x00001ec8 => "\x9b",
+    0x00001ec9 => "\xef",
+    0x00001eca => "\x98",
+    0x00001ecb => "\xb8",
+    0x00001ecc => "\x9a",
+    0x00001ecd => "\xf7",
+    0x00001ece => "\x99",
+    0x00001ecf => "\xf6",
+    0x00001ed0 => "\x8f",
+    0x00001ed1 => "\xaf",
+    0x00001ed2 => "\x90",
+    0x00001ed3 => "\xb0",
+    0x00001ed4 => "\x91",
+    0x00001ed5 => "\xb1",
+    0x00001ed6 => "\x92",
+    0x00001ed7 => "\xb2",
+    0x00001ed8 => "\x93",
+    0x00001ed9 => "\xb5",
+    0x00001eda => "\x95",
+    0x00001edb => "\xbe",
+    0x00001edc => "\x96",
+    0x00001edd => "\xb6",
+    0x00001ede => "\x97",
+    0x00001edf => "\xb7",
+    0x00001ee0 => "\xb3",
+    0x00001ee1 => "\xde",
+    0x00001ee2 => "\x94",
+    0x00001ee3 => "\xfe",
+    0x00001ee4 => "\x9e",
+    0x00001ee5 => "\xf8",
+    0x00001ee6 => "\x9c",
+    0x00001ee7 => "\xfc",
+    0x00001ee8 => "\xba",
+    0x00001ee9 => "\xd1",
+    0x00001eea => "\xbb",
+    0x00001eeb => "\xd7",
+    0x00001eec => "\xbc",
+    0x00001eed => "\xd8",
+    0x00001eee => "\xff",
+    0x00001eef => "\xe6",
+    0x00001ef0 => "\xb9",
+    0x00001ef1 => "\xf1",
+    0x00001ef2 => "\x9f",
+    0x00001ef3 => "\xcf",
+    0x00001ef4 => "\x1e",
+    0x00001ef5 => "\xdc",
+    0x00001ef6 => "\x14",
+    0x00001ef7 => "\xd6",
+    0x00001ef8 => "\x19",
+    0x00001ef9 => "\xdb",
+);
+
+sub _recode
+{
+    if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = join '',
+               map $from_ucs4{$_} 
+                || (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
+                   @{$_[1]};
+    } elsif ($_[0]->{_to} eq 'UTF-8',) {
+               $_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
+    } else {
+               $_[1] = [ map 
+                                 $to_ucs4[$_],
+                                 unpack 'C*', $_[1] 
+                                 ];
+    }
+
+    return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::VISCII - Conversion routines for VISCII
+
+=head1 SYNOPSIS
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module is generated and contains the conversion tables and
+routines for VISCII.
+=head1 CHARACTER TABLE
+
+The following table is sorted in the same order as the original charmap.
+All character codes are in hexadecimal.  Please read 'ISO-10646' as
+'ISO-10646-UCS4'.
+
+ Local | ISO-10646 | Description
+-------+-----------+-------------------------------------------------
+    00 |  00000000 | NULL (NUL)
+    01 |  00000001 | START OF HEADING (SOH)
+    02 |  00001EB2 | LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+    03 |  00000003 | END OF TEXT (ETX)
+    04 |  00000004 | END OF TRANSMISSION (EOT)
+    05 |  00001EB4 | LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+    06 |  00001EAA | LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+    07 |  00000007 | BELL (BEL)
+    08 |  00000008 | BACKSPACE (BS)
+    09 |  00000009 | CHARACTER TABULATION (HT)
+    0A |  0000000A | LINE FEED (LF)
+    0B |  0000000B | LINE TABULATION (VT)
+    0C |  0000000C | FORM FEED (FF)
+    0D |  0000000D | CARRIAGE RETURN (CR)
+    0E |  0000000E | SHIFT OUT (SO)
+    0F |  0000000F | SHIFT IN (SI)
+    10 |  00000010 | DATALINK ESCAPE (DLE)
+    11 |  00000011 | DEVICE CONTROL ONE (DC1)
+    12 |  00000012 | DEVICE CONTROL TWO (DC2)
+    13 |  00000013 | DEVICE CONTROL THREE (DC3)
+    14 |  00001EF6 | LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+    15 |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
+    16 |  00000016 | SYNCHRONOUS IDLE (SYN)
+    17 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
+    18 |  00000018 | CANCEL (CAN)
+    19 |  00001EF8 | LATIN CAPITAL LETTER Y WITH TILDE
+    1A |  0000001A | SUBSTITUTE (SUB)
+    1B |  0000001B | ESCAPE (ESC)
+    1C |  0000001C | FILE SEPARATOR (IS4)
+    1D |  0000001D | GROUP SEPARATOR (IS3)
+    1E |  00001EF4 | LATIN CAPITAL LETTER Y WITH DOT BELOW
+    1F |  0000001F | UNIT SEPARATOR (IS1)
+    20 |  00000020 | SPACE
+    21 |  00000021 | EXCLAMATION MARK
+    22 |  00000022 | QUOTATION MARK
+    23 |  00000023 | NUMBER SIGN
+    24 |  00000024 | DOLLAR SIGN
+    25 |  00000025 | PERCENT SIGN
+    26 |  00000026 | AMPERSAND
+    27 |  00000027 | APOSTROPHE
+    28 |  00000028 | LEFT PARENTHESIS
+    29 |  00000029 | RIGHT PARENTHESIS
+    2A |  0000002A | ASTERISK
+    2B |  0000002B | PLUS SIGN
+    2C |  0000002C | COMMA
+    2D |  0000002D | HYPHEN-MINUS
+    2E |  0000002E | FULL STOP
+    2F |  0000002F | SOLIDUS
+    30 |  00000030 | DIGIT ZERO
+    31 |  00000031 | DIGIT ONE
+    32 |  00000032 | DIGIT TWO
+    33 |  00000033 | DIGIT THREE
+    34 |  00000034 | DIGIT FOUR
+    35 |  00000035 | DIGIT FIVE
+    36 |  00000036 | DIGIT SIX
+    37 |  00000037 | DIGIT SEVEN
+    38 |  00000038 | DIGIT EIGHT
+    39 |  00000039 | DIGIT NINE
+    3A |  0000003A | COLON
+    3B |  0000003B | SEMICOLON
+    3C |  0000003C | LESS-THAN SIGN
+    3D |  0000003D | EQUALS SIGN
+    3E |  0000003E | GREATER-THAN SIGN
+    3F |  0000003F | QUESTION MARK
+    40 |  00000040 | COMMERCIAL AT
+    41 |  00000041 | LATIN CAPITAL LETTER A
+    42 |  00000042 | LATIN CAPITAL LETTER B
+    43 |  00000043 | LATIN CAPITAL LETTER C
+    44 |  00000044 | LATIN CAPITAL LETTER D
+    45 |  00000045 | LATIN CAPITAL LETTER E
+    46 |  00000046 | LATIN CAPITAL LETTER F
+    47 |  00000047 | LATIN CAPITAL LETTER G
+    48 |  00000048 | LATIN CAPITAL LETTER H
+    49 |  00000049 | LATIN CAPITAL LETTER I
+    4A |  0000004A | LATIN CAPITAL LETTER J
+    4B |  0000004B | LATIN CAPITAL LETTER K
+    4C |  0000004C | LATIN CAPITAL LETTER L
+    4D |  0000004D | LATIN CAPITAL LETTER M
+    4E |  0000004E | LATIN CAPITAL LETTER N
+    4F |  0000004F | LATIN CAPITAL LETTER O
+    50 |  00000050 | LATIN CAPITAL LETTER P
+    51 |  00000051 | LATIN CAPITAL LETTER Q
+    52 |  00000052 | LATIN CAPITAL LETTER R
+    53 |  00000053 | LATIN CAPITAL LETTER S
+    54 |  00000054 | LATIN CAPITAL LETTER T
+    55 |  00000055 | LATIN CAPITAL LETTER U
+    56 |  00000056 | LATIN CAPITAL LETTER V
+    57 |  00000057 | LATIN CAPITAL LETTER W
+    58 |  00000058 | LATIN CAPITAL LETTER X
+    59 |  00000059 | LATIN CAPITAL LETTER Y
+    5A |  0000005A | LATIN CAPITAL LETTER Z
+    5B |  0000005B | LEFT SQUARE BRACKET
+    5C |  0000005C | REVERSE SOLIDUS
+    5D |  0000005D | RIGHT SQUARE BRACKET
+    5E |  0000005E | CIRCUMFLEX ACCENT
+    5F |  0000005F | LOW LINE
+    60 |  00000060 | GRAVE ACCENT
+    61 |  00000061 | LATIN SMALL LETTER A
+    62 |  00000062 | LATIN SMALL LETTER B
+    63 |  00000063 | LATIN SMALL LETTER C
+    64 |  00000064 | LATIN SMALL LETTER D
+    65 |  00000065 | LATIN SMALL LETTER E
+    66 |  00000066 | LATIN SMALL LETTER F
+    67 |  00000067 | LATIN SMALL LETTER G
+    68 |  00000068 | LATIN SMALL LETTER H
+    69 |  00000069 | LATIN SMALL LETTER I
+    6A |  0000006A | LATIN SMALL LETTER J
+    6B |  0000006B | LATIN SMALL LETTER K
+    6C |  0000006C | LATIN SMALL LETTER L
+    6D |  0000006D | LATIN SMALL LETTER M
+    6E |  0000006E | LATIN SMALL LETTER N
+    6F |  0000006F | LATIN SMALL LETTER O
+    70 |  00000070 | LATIN SMALL LETTER P
+    71 |  00000071 | LATIN SMALL LETTER Q
+    72 |  00000072 | LATIN SMALL LETTER R
+    73 |  00000073 | LATIN SMALL LETTER S
+    74 |  00000074 | LATIN SMALL LETTER T
+    75 |  00000075 | LATIN SMALL LETTER U
+    76 |  00000076 | LATIN SMALL LETTER V
+    77 |  00000077 | LATIN SMALL LETTER W
+    78 |  00000078 | LATIN SMALL LETTER X
+    79 |  00000079 | LATIN SMALL LETTER Y
+    7A |  0000007A | LATIN SMALL LETTER Z
+    7B |  0000007B | LEFT CURLY BRACKET
+    7C |  0000007C | VERTICAL LINE
+    7D |  0000007D | RIGHT CURLY BRACKET
+    7E |  0000007E | TILDE
+    7F |  0000007F | DELETE (DEL)
+    80 |  00001EA0 | LATIN CAPITAL LETTER A WITH DOT BELOW
+    81 |  00001EAE | LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+    82 |  00001EB0 | LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+    83 |  00001EB6 | LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+    84 |  00001EA4 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+    85 |  00001EA6 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+    86 |  00001EA8 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+    87 |  00001EAC | LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+    88 |  00001EBC | LATIN CAPITAL LETTER E WITH TILDE
+    89 |  00001EB8 | LATIN CAPITAL LETTER E WITH DOT BELOW
+    8A |  00001EBE | LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+    8B |  00001EC0 | LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+    8C |  00001EC2 | LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+    8D |  00001EC4 | LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+    8E |  00001EC6 | LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+    8F |  00001ED0 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+    90 |  00001ED2 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+    91 |  00001ED4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+    92 |  00001ED6 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+    93 |  00001ED8 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+    94 |  00001EE2 | LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+    95 |  00001EDA | LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+    96 |  00001EDC | LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+    97 |  00001EDE | LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+    98 |  00001ECA | LATIN CAPITAL LETTER I WITH DOT BELOW
+    99 |  00001ECE | LATIN CAPITAL LETTER O WITH HOOK ABOVE
+    9A |  00001ECC | LATIN CAPITAL LETTER O WITH DOT BELOW
+    9B |  00001EC8 | LATIN CAPITAL LETTER I WITH HOOK ABOVE
+    9C |  00001EE6 | LATIN CAPITAL LETTER U WITH HOOK ABOVE
+    9D |  00000168 | LATIN CAPITAL LETTER U WITH TILDE
+    9E |  00001EE4 | LATIN CAPITAL LETTER U WITH DOT BELOW
+    9F |  00001EF2 | LATIN CAPITAL LETTER Y WITH GRAVE
+    A0 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
+    A1 |  00001EAF | LATIN SMALL LETTER A WITH BREVE AND ACUTE
+    A2 |  00001EB1 | LATIN SMALL LETTER A WITH BREVE AND GRAVE
+    A3 |  00001EB7 | LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+    A4 |  00001EA5 | LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+    A5 |  00001EA7 | LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+    A6 |  00001EA9 | LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+    A7 |  00001EAD | LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+    A8 |  00001EBD | LATIN SMALL LETTER E WITH TILDE
+    A9 |  00001EB9 | LATIN SMALL LETTER E WITH DOT BELOW
+    AA |  00001EBF | LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+    AB |  00001EC1 | LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+    AC |  00001EC3 | LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+    AD |  00001EC5 | LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+    AE |  00001EC7 | LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+    AF |  00001ED1 | LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+    B0 |  00001ED3 | LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+    B1 |  00001ED5 | LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+    B2 |  00001ED7 | LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+    B3 |  00001EE0 | LATIN CAPITAL LETTER O WITH HORN AND TILDE
+    B4 |  000001A0 | LATIN CAPITAL LETTER O WITH HORN
+    B5 |  00001ED9 | LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+    B6 |  00001EDD | LATIN SMALL LETTER O WITH HORN AND GRAVE
+    B7 |  00001EDF | LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+    B8 |  00001ECB | LATIN SMALL LETTER I WITH DOT BELOW
+    B9 |  00001EF0 | LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+    BA |  00001EE8 | LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+    BB |  00001EEA | LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+    BC |  00001EEC | LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+    BD |  000001A1 | LATIN SMALL LETTER O WITH HORN
+    BE |  00001EDB | LATIN SMALL LETTER O WITH HORN AND ACUTE
+    BF |  000001AF | LATIN CAPITAL LETTER U WITH HORN
+    C0 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
+    C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
+    C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+    C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
+    C4 |  00001EA2 | LATIN CAPITAL LETTER A WITH HOOK ABOVE
+    C5 |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
+    C6 |  00001EB3 | LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+    C7 |  00001EB5 | LATIN SMALL LETTER A WITH BREVE AND TILDE
+    C8 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
+    C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
+    CA |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+    CB |  00001EBA | LATIN CAPITAL LETTER E WITH HOOK ABOVE
+    CC |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
+    CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
+    CE |  00000128 | LATIN CAPITAL LETTER I WITH TILDE
+    CF |  00001EF3 | LATIN SMALL LETTER Y WITH GRAVE
+    D0 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
+    D1 |  00001EE9 | LATIN SMALL LETTER U WITH HORN AND ACUTE
+    D2 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
+    D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
+    D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+    D5 |  00001EA1 | LATIN SMALL LETTER A WITH DOT BELOW
+    D6 |  00001EF7 | LATIN SMALL LETTER Y WITH HOOK ABOVE
+    D7 |  00001EEB | LATIN SMALL LETTER U WITH HORN AND GRAVE
+    D8 |  00001EED | LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+    D9 |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
+    DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
+    DB |  00001EF9 | LATIN SMALL LETTER Y WITH TILDE
+    DC |  00001EF5 | LATIN SMALL LETTER Y WITH DOT BELOW
+    DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
+    DE |  00001EE1 | LATIN SMALL LETTER O WITH HORN AND TILDE
+    DF |  000001B0 | LATIN SMALL LETTER U WITH HORN
+    E0 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
+    E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
+    E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
+    E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
+    E4 |  00001EA3 | LATIN SMALL LETTER A WITH HOOK ABOVE
+    E5 |  00000103 | LATIN SMALL LETTER A WITH BREVE
+    E6 |  00001EEF | LATIN SMALL LETTER U WITH HORN AND TILDE
+    E7 |  00001EAB | LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+    E8 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
+    E9 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
+    EA |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
+    EB |  00001EBB | LATIN SMALL LETTER E WITH HOOK ABOVE
+    EC |  000000EC | LATIN SMALL LETTER I WITH GRAVE
+    ED |  000000ED | LATIN SMALL LETTER I WITH ACUTE
+    EE |  00000129 | LATIN SMALL LETTER I WITH TILDE
+    EF |  00001EC9 | LATIN SMALL LETTER I WITH HOOK ABOVE
+    F0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
+    F1 |  00001EF1 | LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+    F2 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
+    F3 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
+    F4 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
+    F5 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
+    F6 |  00001ECF | LATIN SMALL LETTER O WITH HOOK ABOVE
+    F7 |  00001ECD | LATIN SMALL LETTER O WITH DOT BELOW
+    F8 |  00001EE5 | LATIN SMALL LETTER U WITH DOT BELOW
+    F9 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
+    FA |  000000FA | LATIN SMALL LETTER U WITH ACUTE
+    FB |  00000169 | LATIN SMALL LETTER U WITH TILDE
+    FC |  00001EE7 | LATIN SMALL LETTER U WITH HOOK ABOVE
+    FD |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
+    FE |  00001EE3 | LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+    FF |  00001EEE | LATIN CAPITAL LETTER U WITH HORN AND TILDE
+
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::RecodeData(3), Locale::Recode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/lib/Locale/RecodeData/_Encode.pm
===================================================================
RCS file: maintain/lib/libintl-perl/lib/Locale/RecodeData/_Encode.pm
diff -N maintain/lib/libintl-perl/lib/Locale/RecodeData/_Encode.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/lib/Locale/RecodeData/_Encode.pm  12 Oct 2011 
23:51:50 -0000      1.1
@@ -0,0 +1,100 @@
+#! /bin/false
+# vim: set autoindent shiftwidth=4 tabstop=4:
+# $Id: _Encode.pm,v 1.1 2011/10/12 23:51:50 pertusus Exp $
+
+# Interface to Encode.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>,
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+package Locale::RecodeData::_Encode;
+
+use strict;
+use integer;
+
+use Encode;
+
+require Locale::RecodeData;
+use base qw (Locale::RecodeData);
+
+sub _recode
+{
+       use bytes;
+
+       my $retval;
+       
+       if ($_[0]->{_from} eq 'INTERNAL') {
+               $_[1] = pack "N*", @{$_[1]};
+               $retval = Encode::from_to ($_[1], 'UTF-32BE', $_[0]->{_to});
+       } elsif ($_[0]->{_to} eq 'INTERNAL') {
+               $retval = Encode::from_to ($_[1], $_[0]->{_from}, 'UTF-32BE');
+               return unless defined $retval;
+               $_[1] = [ unpack "N*", $_[1] ];
+       } else {
+               $retval = Encode::from_to ($_[1], $_[0]->{_from}, $_[0]->{_to});
+       }
+       
+       return unless defined $retval;
+       return 1;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Locale::RecodeData::_Encode - Internal wrapper around Encode 
+
+=head1 SYNOPSIS
+
+use Locale::RecodeData::_Encode;
+
+This module is internal to libintl.  Do not use directly!
+
+=head1 DESCRIPTION
+
+This module converts text with the help of Encode(3).  It is 
+tried first for conversions if libintl-perl detects the presence
+of Encode.
+
+=head1 AUTHOR
+
+Copyright (C) 2002-2009, Guido Flohr E<lt>address@hidden<gt>, all
+rights reserved.  See the source code for details.
+
+This software is contributed to the Perl community by Imperia 
+(L<http://www.imperia.net/>).
+
+=head1 SEE ALSO
+
+Locale::Recode(3), Encode(3), perl(1)
+
+=cut
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+=cut

Index: maintain/lib/libintl-perl/sample/README
===================================================================
RCS file: maintain/lib/libintl-perl/sample/README
diff -N maintain/lib/libintl-perl/sample/README
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/README     12 Oct 2011 23:51:50 -0000      
1.1
@@ -0,0 +1,462 @@
+This is a simple, respectively stupid Perl package that shows how the
+complete internationalization process for a Perl package *could* be
+done.  It does not claim to be the smartest or the only possible
+solution, but it provides at least a skeleton for real packages.  If
+libintl-perl should someday become an "established" Perl package, it
+would probably be a lot better to seamlessly integrate the process
+into ExtUtils::MakeMaker, but for now it's all we have.
+
+The example focuses on the packaging process, i. e. on the things you
+have to do to maintain an internationalized Perl package, so that
+users of your package will benefit from translations you provide.  It
+therefore doesn't make use of any of the nitty-gritty details of
+message translation like plural handling or the like.
+
+Requirements
+------------
+
+The only requirement is a Perl aware version of GNU gettext.  Perl
+support was introduced only recently in GNU gettext, and you will have
+to check whether your copy of GNU gettext already supports Perl.  
+Support for Perl was introduced in version 0.12.2 of GNU gettext.  If 
+your version is older, you have to update GNU gettext.
+
+First test
+----------
+
+The subdirectory "simplecal" contains a regular Perl package like the
+ones you will find on the CPAN.  You should first try to build and
+use the package:
+
+     cd simplecal
+     perl Makefile.PL
+     make
+
+If you see a warning that the prerequisite Locale::TextDomain is not
+found, then you have to install libintl-perl first.
+
+You should never "make install", the package is only a stupid example
+and you will not really want to install it.  You can simply try it out
+from the installation directory itself:
+
+     perl -Ilib bin/simplecal.pl
+
+It should print a crude calendar representation in English, or even in
+your preferred language, depending on your system settings.
+
+The Programming
+---------------
+
+Now we should dig into the sources.  All relevant files are commented
+and should give you a pretty good idea of what's going on.  Change
+your directory to the package directory "simplecal" and inspect the
+source files.
+
+The heart of the library is found in the file lib/SimpleCal.pm.  This
+Perl module defines functions that map numeric values to month names
+or abbreviated week day names.  You will find nothing unusual in this
+module except for a line at the beginning of the file that reads:
+
+     use Locale::TextDomain qw (org.imperia.simplecal);
+
+In case you are not familiar with the operator "qw", this is an
+equivalent writing of 
+
+     use Locale::TextDomain ('org.imperia.simplecal');
+
+That line in the code does three things: It imports the module
+Locale::TextDomain, *and* it states that the text domain (or
+identifier) for this package is "org.imperia.simplecal", *and* it says
+that the translations for this package can be found in the
+subdirectory "LocaleDate" of any component of @INC (unless it can be
+found in one of the system locations).  See the POD in
+Locale::TextDomain for more information.
+
+You may also find out that some strings have a "__" or a "N__" in
+front of them.  The explanation to these funny things has two sides:
+First, they mark the following strings as being translatable, so that the
+parser "xgettext" included in GNU gettext can find them.  Yet, at runtime
+both "__" and "N__" are really function names, and they will look up
+their argument in the translation database.  There is more
+documentation available on this.  Guess where! Yepp, in the POD of
+Locale::TextDomain.
+
+The library is used by a Perl script "bin/simplecal.pl".  Let's have a
+look at that script now.  The first remarkable line is the one that
+calls POSIX::setlocale():
+
+     setlocale (LC_MESSAGES, '');
+
+The POD of the POSIX module gives additional information on the
+function setlocale().  In brief, that call initializes the locale
+settings for the category "LC_MESSAGES" to the pre-selected user
+settings (this is indicated by the empty second argument).  The
+constant LC_MESSAGES is exported by Locale::Messages, which is always
+a safe choice.  If your script is only intended to run with Perl 5.8
+or better, you can also import LC_MESSAGES from the POSIX module.
+
+The rest of the program only prints a calendar for the current month.
+It retrieves the name of the month and the abbreviated weekday names
+from our little SimpleCal.pm module which provides this information in
+a localized form.
+
+A Dutch Calendar
+----------------
+
+We want to see the calendar in Dutch now.  All you have to do is to
+set the environment variable LANGUAGE to the value "nl".  If you don't
+know how to do this, add the following line somewhere at the top of
+"bin/simplecal.pl":
+
+     $ENV{LANGUAGE} = "nl";
+
+Now run the script again:
+
+     perl -Ilib bin/simplecal.pl
+
+It should print out the calendar in Dutch.  Look at the *.po files in
+the subdirectory "po" for a list of other translations I have
+prepared.  You can try them out in a similar manner.
+
+Please see the file "README-NLS" in subdirectory "sample/simplecal"
+for details on how to set the language via environment variables.
+
+The Subdirectory "po"
+---------------------
+
+This directory contains the raw translations and a Makefile that will
+compile and install them.  If you enter this directory and type "make"
+you will see a list of the available Makefile targets.
+
+The first one is the target "pot", a so-called phony target, i. e. it
+is not related to a file with the name of "pot".  The command "make
+pot" will remake the master catalog of the package and place the
+result in the file "org.imperia.simplecal.pot"
+("org.imperia.simplecal" is the text domain resp. identifier for our
+package).  Type the command "make pot" now to see how the master
+catalog is actually generated.  If the output says something like
+"nothing to be done for `pot'", then delete the file
+"org.imperia.simplecal.pot" and try again.
+
+You should see now that the target file "org.imperia.simplecal.pot" is
+generated by the program xgettext with a plethora of options:
+
+     xgettext --output=./org.imperia.simplecal.pox --from-code=utf-8 \
+              --add-comments=TRANSLATORS: --files-from=./POTFILES.in \
+             --copyright-holder="Imperia AG Huerth/Germany" \
+             --keyword --keyword='$__' --keyword=__ --keyword=__x \
+             --keyword=__n:1,2 --keyword=__nx:1,2 --keyword=__xn \
+             --keyword=N__ --language=perl && \
+     rm -f org.imperia.simplecal.pot && \
+     mv org.imperia.simplecal.pox org.imperia.simplecal.pot
+
+Type "xgettext --help" for a detailled explanation of the command line
+options.  In brief this invocation causes xgettext to read a list of
+files from the file "POTFILES.in", extract all messages from these
+source files and place the result in the output file
+"org.imperia.simplecal.pox".  If the command succeeds, the old ".pot"
+file is replaced by the new ".pox" file.
+
+Yes, this is complicated, and that is why this skeleton Makefile is
+provided here.  You can copy it without any modification into your
+package to use it.
+
+The file POTFILES.in contains a list of source files to be scanned for
+translatable strings.  Have a look at it, and you will understand it.
+
+The Makefile also includes a file called "PACKAGE".  This file contains
+all package-dependent information in a couple of Makefile variables:
+
+- TEXTDOMAIN
+This Makefile variable should contain the text domain/identifier
+for your package.  Please see the POD of Locale::TextDomain for advice
+on a reasonable naming.
+
+- LINGUAS
+The language codes of all languages supported by your package.  Each 
+entry corresponds to a po file in the po subdirectory.
+
+- COPYRIGHT_HOLDER
+Usually your name.  Whatever you put here will be included as the
+copyright holder in the header of the po files.
+
+- MSGID_BUGS_ADDRESS
+Usually your name and e-mail address.  It will also be included in the
+po header and translators will check this entry when they come across
+a bug in a msgid, or when they have difficulties to translate a certain
+message because of awkward coding on your side.
+
+Okay, after "make pot" we have updated the master message catalog
+TEXTDOMAIN.pot, in our case "org.imperia.simplecal.pot".  Have a look
+into the file now.  It contains the original English messages that
+xgettext has extracted from our source files and blank translations.
+The po files (the files the names of which end with ".po") contain
+previous translations provided by our package translators.  Whenever
+you change the Perl sources, the list of messages may change.  This
+results in a maybe new .pot file and requires an update of all po
+files.  Try that now and type "make update-po"
+
+You will see confusing output from "make" but you may get the idea
+that every single po file (every language that the package supports)
+gets updated, and the new strings are inserted into the po
+files. Since nothing really changed here (we did not change the source
+files yet) you can now try to update the compiled po files which end in
+".mo" with "make update-mo".
+
+Again, you will see maybe cryptic output from "make" that signifies
+that all compiled files are re-generated now by a program called
+"msgfmt".
+
+The last step requires that you copy the (possibly changed) mo files
+into your package by "make install".  This will copy the mo files into
+the subdirectory "LocaleData" of your package so that libintl-perl is
+able to find them at runtime.
+
+You can perform all these steps at once by typing "make all" although
+this is mostly useful for testing purposes.  In reality the workflow
+is different:
+
+- You change your source files, messages may have been added, deleted
+  or modified.  You will have to update the master message catalog by
+  typing "make pot".
+
+- Since the translations may have gotten out-of-date, you will have to
+  merge your changes into all po files by "make update-po".
+
+- Your translators will get copies of the po files, reflect your
+  changes in the po files and send them back to you.
+
+- When you have received the updates, it is time to compile the po
+  files into a binary representation with "make update-mo".
+
+- These binary mo files have to be installed under "LocaleData", and
+  you have to "make install".  Note that "make install" installs the
+  mo files in your source package, not in the system location!
+
+- Now that you have updated the translations for your package, you
+  will want to upload a new version to the CPAN.
+
+Note that all these steps are *only* necessary for package
+maintainers.  As a user of the package, you will only see the
+resulting mo files under "LocaleData".  End users do *not* need any of
+the gettext tools, and they do not have to perform any of the above
+steps theirselves!
+
+Changing the Sources
+--------------------
+
+You may wonder whether your translators have to re-translate
+everything from scratch whenever you change your Perl sources.  This
+is, of course, not the case.  Let's say, you want to add a welcome and
+a good-bye message to the program output.  Have a look into
+"bin/simplecal.pl" and you will see that this is already prepared but
+commented out (search for "Welcome to" and "Bye" if you can't find
+it).  Uncomment these lines and see what happens to the po files in
+that case.
+
+Before you proceed, you should have a look at the Dutch translation
+file "nl.po".  At the bottom you will find some lines that are
+commented out with "#~" and that proove that I have already prepared
+that case.  The comment sign "#~" in po files signifies that a
+particular translation is obsoleted, i. e. no longer needed because it
+is no longer present in the source files.
+
+Say, that you have really changed your mind, and you want to
+re-introduce the welcome and good-bye messages to your program and you
+uncomment the corresponding lines in "bin/simplecal.pl".  You will
+have to re-make the master catalog "org.imperia.simplecal.pot" by
+"make pot", and then "make update-po" to update the po files.  In
+fact, "make update-po" is sufficient because it will also update the
+pot file if it is out-of-date (i. e. if any of the source files have
+changed in the meantime).
+
+Type "make update-po" now, and look again at "po/nl.po".  You will see
+that the previously translated welcome and good-bye messages have been
+re-activated from the obsoleted entries.  In fact your translators
+will have nothing to do, because their old translations are still
+valid.  Type "make install" and then re-run "perl -Ilib
+bin/simplecal.pl", set the environment variable "LANG" to any of the
+available languages, and things will still work perfectly.
+
+Of course, it is a rare case that messages are discarded and later
+re-activated in programming sources.  It is more likely that you will
+modify a message, or maybe add a message that is similar to former
+ones.  Let's say that you want to change the exclamation mark in the
+good-bye message at the bottom of the script to a simple full stop.
+Look for the line that reads
+
+     print __"Bye!\n";
+
+and change it into
+
+     print __"Bye.\n";
+
+Change into the directory "po", update the translation files with
+"make update-po" and inspect the file "nl.po".  At first glance, you
+may not see any change.  But then: The entry for the good-bye message
+has an additional comment "#, fuzzy".  The fuzzy mark signifies that
+the msgerge program has found that a message is very similar to a
+previous message (even obsoleted ones are taken into account), and
+that it proposes an old translation here.  The translator will
+normally modify the translation accordingly (without having to re-type
+everything), remove the fuzzy mark and send back the translation to
+you.
+
+In fact you could also install translations that have not been revised
+by the translator and are still marked as fuzzy.  This is not
+recommended however! The algorithm used in msgmerge is quite smart
+and seldom fails to detect minimal changes in the source message and
+propose the old translation.  However, it often proposes translations
+from other valid or obsoleted entries that are only vaguely related to
+the real meaning.  You should understand the fuzzy merging mechanism
+as a helpful feature to the translator only and never install fuzzy
+translations unless you absolutely know what you are doing.
+
+Pass Comments to Translators
+----------------------------
+
+The po files contain references for every message to the corresponding
+source files as comments.  But you still may feel a need for giving
+hints to the translators.  You may want to tell the translators, that
+the good-bye message can be somewhat sloppy (or whatever you like).
+This is simple to do.  Have a look at the good-bye message in
+"bin/simplecal.pl" and you will see that it is preceded by a comment
+introduced with the string "TRANSLATORS:".  If you start your Perl
+comment like this, it will end up as a comment for translators in the
+resulting po (resp. pot) file and may serve as a hint for translators.
+
+In fact, the string "TRANSLATORS:" is arbitrarily chosen.  If you
+prefer another string, change it in the invocation of "xgettext" in
+the skeleton Makefile provided here.
+
+Informational Files
+-------------------
+
+You should put two additional files in your distribution.  The first 
+one is "README-NLS".  It should be a verbatim copy of the most recent
+version found in the "simplecal" sample package.  Please send 
+corrections or improvements to this file to the maintainer Guido
+Flohr <address@hidden>, and add package-specific notes to your
+documentation instead.  Users expect this file to have a standard
+contents, and they will not check it for changes on a regular basis.
+
+The file "TRANSLATIONS" should reflect the current translation status
+of your package.  It should list all currently availabe translations,
+their completeness, and it should also inform your user which translations
+are actively maintained, and which are not.  You can find a sample
+in the "simplecal" sample package. 
+
+Bringing It All Together
+------------------------
+
+The above sounds definitely more complicated than it is.  In practice
+you code as before but mark all your strings with "__" and friends
+like described in the POD of Locale::TextDomain.  Before a new release
+you change into the directory "po" of your distribution and type "make
+update-po" to update the available translations.  Distribute the
+modified po files to your translators, and once you have collected
+them all, type "make install" to add them to your distribution.
+
+That's all, all translations will be available in your package now.
+
+Internationalizing Existing Packages
+------------------------------------
+
+Internationalizing an already existing package with libintl-perl is
+less painful than you think.  The following roadmap should do it with
+minimal effort.
+
+First create a subdirectory "po" in your sources, copy the "Makefile"
+from this sample, and copy and edit the files "TEXTDOMAIN" and
+"LINGUAS" (LINGUAS can set the Makefile variable "LINGUAS" to the
+empty string and TEXTDOMAIN should set "TEXTDOMAIN" to a name as
+advised in the POD of Locale::TextDomain).
+
+Next you have to mark the translatable strings in your sources with
+"__" and friends.  You can do that by hand, but isn't that the kind of
+job that you have bought a computer for?  List your source files in
+"po/POTFILES.in" and then try
+
+     xgettext -a --files-from=POTFILES.in -o all.pot
+
+The option "-a" instructs xgettext to extract *all* strings from your
+sources.  This option may miss a few strings (consider a bug report in
+that case), it will issue a lot of warnings about "illegal variable
+interpolations" (see the POD of Locale::TextDomain for workarounds)
+and will put a lot of strings extracted from your sources into the
+file "all.pot".
+
+Now, load the file "all.pot" into an editor of your choice.  If your
+choice is "GNU emacs" you will have maximum comfort: Select an entry,
+type "s" and you can cycle through the source files that this
+particular entry originates from.  Other PO editors like KBabel or
+PO-Edit provide similar functionality.  But even with the "Notepad" on
+MS-DOS you will be able to navigate to the corresponding source file.
+Once you have found the origin in your sources, you have to decide
+whether this is a false positive, and you simply ignore it.  If it is
+a translatable string you either simply mark it with "__" or you
+"repair" it.
+
+What does "repair" mean? Again, the POD of Locale::TextDomain... In
+brief: Your Perl sources will be full of stuff like:
+
+     die "Cannot open file '$filename': $!\n";
+
+This string is not suitable for translation, because it is not
+constant.  It may change depending on the value of the variable
+$filename and the value of $!.  You will have to change that into
+something like:
+
+     die __x ("Cannot open file '{filename}': {err}\n",
+              filename => $filename, err => $err);
+
+Once you are done with marking the strings, you can try to run your
+scripts/modules and you will see a lot of complaints by Perl that it
+doesn't know about "__" (in various incarnations).  Remember that "__"
+is really a function call and you have to import the function "__" and
+its relatives into your namespace.
+
+What you have to do is to invent an identifier for your package (see
+Locale::TextDomain for hints) and then add the following line to all
+of your source files that produced errors:
+
+     use Locale::TextDomain ('Name-Of-My-Package');
+
+You will be happy if "Name-Of-My-Package" is the same as the Makefile
+variable "TEXTDOMAIN" in the file "po/TEXTDOMAIN" that you have
+created in the beginning.
+
+For the common case of a pure library: Is that really all I have to
+do? Yes! What about POSIX::setlocale(), don't I have to make a call
+somewhere? No, not for a library! And what about calls to textdomain()
+and bindtextdomain() that I know from C or other languages? No, this
+is all hidden in "use TextDomain (PACKAGENAME)" for Perl.
+
+To make it clear again: A library should NEVER change the locale
+settings.  The script that uses a library (or multiple libraries)
+should do that, and this boils down to three lines of Perl:
+
+     use POSIX qw (setlocale);
+     use Locale::Messages (LC_MESSAGES);
+
+     setlocale (LC_MESSAGES, "");
+
+That means: The *calling* Perl script, the one that uses possibly
+internationalized libraries, should initialize the locale settings to
+the user preferences.  Libraries should honor that setting but should
+never change it.  If a script misses a call to setlocale(), your
+internationalized library will happily continue to work flawlessly
+with the original English messages, it is up to the client programmer
+to reveal the i18n features in your code!
+
+If you are new to internationalization (i + 18 characters + n = i18n),
+you will probably only understand half of the above.  Visit
+http://ml.imperia.org/listinfo/libintl-perl/, subscribe to the mailing
+list address@hidden and ask there.  And don't blame me, the
+author, for any difficulties.  libintl-perl is as complicated as i18n
+itself, it even simplifies a lot of things.  The complicated rest is
+inevitable. ;-)
+
+Good luck!
+
+Guido

Index: maintain/lib/libintl-perl/sample/simplecal/MANIFEST
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/MANIFEST
diff -N maintain/lib/libintl-perl/sample/simplecal/MANIFEST
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/MANIFEST 12 Oct 2011 23:51:51 
-0000      1.1
@@ -0,0 +1,30 @@
+MANIFEST
+Makefile.PL
+bin/simplecal.pl
+lib/SimpleCal.pm
+po/Makefile
+po/PACKAGE
+po/POTFILES.in
+po/ar.po
+po/ar_SA.po
+po/de.po
+po/de_AT.po
+po/fr.po
+po/ga.po
+po/it.po
+po/nl.po
+po/org.imperia.simplecal.pot
+po/pt.po
+po/pt_BR.po
+po/ru.po
+lib/LocaleData/de/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/fr/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/ar/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/ar_SA/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/de_AT/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/ga/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/it/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/pt/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/pt_BR/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/nl/LC_MESSAGES/org.imperia.simplecal.mo
+lib/LocaleData/ru/LC_MESSAGES/org.imperia.simplecal.mo

Index: maintain/lib/libintl-perl/sample/simplecal/Makefile.PL
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/Makefile.PL
diff -N maintain/lib/libintl-perl/sample/simplecal/Makefile.PL
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/Makefile.PL      12 Oct 2011 
23:51:51 -0000      1.1
@@ -0,0 +1,54 @@
+#! /usr/local/bin/perl -w # -*- perl -*-
+
+# vim: tabstop=4
+# $Id: Makefile.PL,v 1.1 2011/10/12 23:51:51 pertusus Exp $
+
+# Makefile generator for libintl-perl.
+# Copyright (C) 2002-2009 Guido Flohr <address@hidden>, 
+# all rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+                                                                               
 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+                                                                               
 
+# You should have received a copy of the GNU Library General Public 
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+# USA.
+
+use ExtUtils::MakeMaker;
+
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+
+WriteMakefile(
+    NAME                   => 'simplecal',
+    VERSION_FROM       => 'bin/simplecal.pl',
+    PREREQ_PM      => {
+                                                       Locale::TextDomain => 0,
+                                               },
+       EXE_FILES               => [ 'bin/simplecal.pl' ],
+       AUTHOR          => 'Guido Flohr <address@hidden>',
+    ABSTRACT        => 'Demonstration package for libintl-perl',
+);
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/sample/simplecal/README-NLS
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/README-NLS
diff -N maintain/lib/libintl-perl/sample/simplecal/README-NLS
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/README-NLS       12 Oct 2011 
23:51:51 -0000      1.1
@@ -0,0 +1,200 @@
+Notes on National Language Support (NLS)
+****************************************
+
+This package is internationalized with libintl-perl, a free
+internationalization library for Perl, you will need to install a copy of
+libintl-perl in order to use the package.  You can get libintl-perl from the
+Comprehensive Perl Archive Network CPAN at http://www.cpan.org/.
+
+The following notes are meant to be a quick start guide for somewhat
+experienced users and system administrators and many important details had to
+be omitted for brevity.  If you have any difficulties with the
+internationalization features of this package, no matter if you are a
+programmer, a translator, or an end user, feel free to ask at the mailing list
+for libintl-perl.  To do so, send an e-mail to the address 
+<libintl-perl AT imperia DOT net> (please replace "AT" with a "@", and "DOT"
+with a dot ".").
+
+You can subscribe to this list at 
+
+     http://ml.imperia.org/mailman/listinfo/libintl-perl
+
+A searchable archive of earlier postings is located at
+
+     http://ml.imperia.org/libintl-perl/
+
+You may already find an answer to your question there.
+
+Feel free to include this document in your own Perl packages internationalized
+with libintl-perl, no severe copyright restrictions apply.  You should send
+corrections or improvements to the author Guido Flohr <guido AT imperia DOT
+net>, so that others can benefit from your changes.
+
+The End User's View
+===================
+
+The installation routine for this package will automatically take care that
+your system has a sufficient version of libintl-perl installed.  This is
+basically sufficient for proper operation, but - especially if
+internationalized software is new to you - you should read on carefully in
+order to fully benefit from the internationalization (I18N) features of this
+package.
+
+Perl Setup
+----------
+
+The I18N library libintl-perl will run with a wide range of Perl versions (at
+least from Perl version 5.005_03 to Perl 5.8.0) but you will experience slight
+difference in features and performance depending on the version of Perl you
+use.
+
+With Perl versions prior to 5.7.3 you can use the package for all European
+scripts (including those with Greek or Cyrillic scripts), and also for many
+scripts used outside Europe, like Arabic, Hebrew, Georgian, Vietnamese or
+Thai, more general all scripts using 8 bit charsets.  Other scripts are only
+available if the translations in this package are provided in Unicode and they
+can only be output in Unicode.
+
+Beginning with Perl 5.7.3 the module Encode became part of the Perl core, and
+it offers you a much wider range of possible scripts.  If you plan to use some
+of the lesser used scripts for Chinese, Japanese, and Korean, you should also
+install the module Encode::HanExtra.
+
+Setting Your Language
+---------------------
+
+Most modern systems are already prepared and configured for
+internationalization, and the user interface of the software you have
+installed will already be configured for your preferred language.  Packages
+internationalized with libintl-perl will honor these configuration settings
+and will also operate in your preferred language if the necessary translations
+are available.
+
+The environment variable "LANGUAGE" has the highest precedence for
+translations.  The most common format for this environment variable is a
+(lowercase) two-letter language code and an (uppercase) two-letter country
+code separated by an underscore "_", for example:
+
+     LANGUAGE=fr_BE
+     export LANGUAGE
+
+This will set your language preferences to French ("fr") for Belgium ("BE").
+Other examples are French for France ("fr_FR"), German for Austria ("de_AT"),
+and so on.  You can also omit the country part ("FR", "DE", "IT", "RU", ...)
+in which case a default setting for the country will be assumed.
+
+If there are no translations available for your selected languages, the
+original message (normally in English) will be displayed.
+
+You can also define a chain of languages to be tried separated by a colon:
+
+     LANGUAGE=fr_BE:fr_FR:fr:it
+
+Read this as: "I want translations in French for Belgium.  If they are not
+available try French for France, then any French translation, and finally
+Italian".  Please note that this chain notation is only allowed for the
+environment variable "LANGUAGE", it is not valid for any of the following
+variables.
+
+If "LANGUAGE" is not set, the library checks the variable "LANG".  It has the
+same syntax as "LANGUAGE" but does not allow the preferences chain with the
+colon syntax.  After "LANG" the variable "LC_MESSAGES" (think "locale category
+messages") is tried, and finally "LC_ALL".
+
+Note for Microsoft Windows users: The locale preferences you have configured
+for your system cannot yet be evaluated by libintl-perl.  This may change for
+future versions of libintl-perl but for the moment you have to make do with
+the instructions given above.  In order to set environment variables, you have
+to right-click on the icon "My Computer" on your desktop, select "Properties"
+in the context menu, and then click the tab labelled "Environment variables".
+
+Setting the Output Charset
+--------------------------
+
+Even if you have managed to properly select your preferred language, you may
+still have difficulties reading the program languages, because libintl-perl
+was unable to determine the correct charset to use for messages.  For example,
+it may assume Unicode ("UTF-8") but you really need ISO-Latin-1 (also known as
+"Latin-1" or "ISO-8859-1").  If this is the case, please set the environment
+variable "OUTPUT_CHARSET" to the appropriate value, for example:
+
+     OUTPUT_CHARSET=iso-8859-1
+     export OUTPUT_CHARSET
+
+Charset names are case-insensitive, i. e. "LATIN-1" is the equivalent to
+"Latin-1" or even "lAtIn-1".
+
+Note: The output charset "utf8" is NOT recognized.  Please use the correct
+abbreviation "utf-8" (with a hyphen) instead.
+
+The Translator's View
+=====================
+
+If you want to contribute a new translation to this package, please contact
+the author first.  Somebody may have already started this translation, and
+furthermore the package author will be able to give you detailled instructions
+and help.
+
+Translating a Perl package is not much work and it does not require any
+technical skills.  If you are able to use the software itself, you will also
+be able to contribute a translation for your language.  But why should you do
+that? You are able to read and understand this text and you will also be able
+to understand the English messages that the software spits out by default.
+
+Computers are an integral part of today's society.  Computers are used to
+explore new sources of information, forbidding computers would be a modern
+form of censorship.  Computers may also improve social life, the internet
+helps people to find contacts in their area and all over the world, even if
+they would otherwise be deprived from that because of a handicap, lack of money
+for traveling, or other reasons.  In many societies, the ability to use and 
+handle a computer also has a strong impact on your perspectives in life, you 
+may not be able to find an adequate job because of your lack of computer 
+experience, or you may even lose your job because of that.
+
+Everybody should benefit from computers, regardless of cultural
+background. Computers are expansive goods, and their price is already a high
+barrier to cross.  If computers speak in a foreign language, the learning
+curve gets steeper and the barrier gets even higher.  You can help the people
+that share your native language by contributing a translation.  The author of
+this package has already prepared everything, the rest is up to you!
+
+The Programmer's View
+=====================
+
+You have downloaded this package because you want to use it in your own
+project(s).  The fact that the package is internationalized with libintl-perl
+does not affect its usability in any way.  But you should keep in mind that
+textual messages produced by the package may change according to the locale
+settings at run-time.  This can lead to errors.  For example, if you parse
+error messages produced by the package, you will most probably fail to detect
+what you are looking for, if these error messages are suddenly presented in
+another language or another output charset.
+
+It is probably needless to say that this is bad practice and an indicator for
+a poorly written interface.  Either you have missed the correct method for
+determining the substance of the message in a locale-independent manner, or
+the author of the package has mis-designed the package interface.  In any
+case, this is a technical problem that should be solved by technicians.  You
+should not put that burden on the shoulders of your users but rather solve the
+problem in cooperation with the author of the module that causes it.
+
+If this is absolutely impossible, as a temporary workaround you can completely
+switch off the native language support of the package by setting the
+environment variable "LANGUAGE" to the special value "C":
+
+     BEGIN {
+         $ENV{LANGUAGE} = $ENV{LANG} = "C";
+     }
+
+The value "C" instructs libintl-perl to leave all messages untouched, and you
+can use the package as if it was not internationalized at all.
+
+If the project you are working on is not yet internationalized, you should
+consider to prepare it for internationalization now.  Doing so is only little 
+work for yourself, but results in a large benefit for the users of your 
+software.  The package "libintl-perl" ships with exhaustive documentation for
+programmers and a sample package that you can use as a skeleton for your own
+project(s).  Internationalizing Perl software with libintl-perl is easy, the
+package that this file is a part of, prooves that.
+
+Guido Flohr

Index: maintain/lib/libintl-perl/sample/simplecal/TRANSLATIONS
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/TRANSLATIONS
diff -N maintain/lib/libintl-perl/sample/simplecal/TRANSLATIONS
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/TRANSLATIONS     12 Oct 2011 
23:51:51 -0000      1.1
@@ -0,0 +1,41 @@
+This package is internationalized with libintl-perl.  It can be configured
+to speak in different languages.  If your language is still missing, you
+should take a look into the file "README-NLS" (section "The Translator's
+View") where you will find instructions for contributing a translation
+into your language to this package.
+
+You can see the translation status of this package for various languages
+in the following table.  If your language is completely missing in the
+table, your translation will be welcomed as a contribution to the
+project.
+
+Translation Status for "simplecal"
+==================================
+
+Language            | Code  | Status | Current Translator 
+--------------------+-------+---+----+---------------------------------
+Arabic              | ar    | O | C  | Guido Flohr
+Arabic/Saudi Arabia | ar_SA | O | C  | Guido Flohr
+Dutch               | nl    | O | C  | Guido Flohr
+French              | fr    | O | C  | Guido Flohr
+German              | de    | A | C  | Guido Flohr
+German/Austria      | de_AT | O | C  | Guido Flohr
+Irish               | ga    | O | C  | Guido Flohr
+Italian             | it    | O | C  | Guido Flohr 
+Portuguese          | pt    | O | C  | Guido Flohr
+Portuguese/Brazil   | pt_BR | O | C  | Guido Flohr
+Russian             | ru    | O | C  | Guido Flohr
+
+Legend: The status is displayed in two columns.  The left column informs
+you whether somebody is already in charge of that translation, the right
+columns reflects the status of the translation itself.
+
+Left:  (O) - Orphaned:  The translation needs a new maintainer.  You?
+       (A) - Assigned:  The translation already has a maintainer.
+
+Right: (C) - Complete:  All messages are translated.
+       (M) - Mostly:    Most (all important) messages are translated.
+       (P) - Partially: The translation is only partially done.
+       (-) - Missing:   No translation is currently available.
+
+Messages for missing translations will be displayed in English.

Index: maintain/lib/libintl-perl/sample/simplecal/bin/simplecal.pl
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/bin/simplecal.pl
diff -N maintain/lib/libintl-perl/sample/simplecal/bin/simplecal.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/bin/simplecal.pl 12 Oct 2011 
23:51:51 -0000      1.1
@@ -0,0 +1,105 @@
+#! /usr/local/bin/perl -w
+# vim: tabstop=4
+
+use strict;
+
+# Include our little library.
+use SimpleCal;
+
+# For setlocale.
+use POSIX qw (setlocale);
+use Locale::Messages qw (LC_MESSAGES);
+
+# Our script contains translatable messages.  We have to assign
+# it a text domain.  Note that this is only needed here because the 
+# script *itself* contains translatable messages from the text domain
+# "org.imperia.simplecal".
+use Locale::TextDomain ('org.imperia.simplecal');
+
+use vars qw ($VERSION);
+$VERSION = '1.0';
+
+# Set the locale according to the environment.
+setlocale (LC_MESSAGES, "");
+
+# Print a greeting message.  We want to be flexible with the package
+# name, and so we will make this a placeholder.
+my $package_name = "SimpleCal";
+#print __x("Welcome to {package}!\n", package => $package_name);
+
+# Inquire current date and time.
+my @now = localtime;
+my $year = $now[5] + 1900; # Current year.
+my $month = $now[4];    # Current month in the range of 0-11.
+
+# Print the header for our calendar.
+my $month_name = SimpleCal::month_name ($month);
+print "\t$month_name $year\n";
+
+# And now print the abbreviation for every day of the week.
+foreach my $i (0 .. 6) {
+       # This makes the (insecure!) assumption that the abbreviated
+       # week day is no longer than 5 characters.
+       printf "%6s", abbr_week_day ($i);
+}
+# And a final newline.
+print "\n";
+
+# The rest of the program only prints out the day numbers and is not
+# particularly interesting.
+
+# We will start at a Sunday where month day <= 0 and suppress negative dates 
+# later.
+my $first_day = $now[3] - $now[6];
+if ($first_day > 0) {
+       $first_day %= 7;
+       $first_day -= 7;
+}
+
+my $last_day;
+if ($month == 1) {
+       if (SimpleCal::is_leap_year ($year)) {
+               $last_day = 29;
+       } else {
+               $last_day = 28;
+       }
+} elsif ($month == 3 || $month == 5 || $month == 8 || $month == 10) {
+       $last_day = 30;
+} else {
+       $last_day = 31;
+}
+
+my $day_of_week = 0; # Sunday.
+foreach my $mday ($first_day .. $last_day) {
+       if ($mday <= 0) {
+               printf "%6s", ' ';
+       } else {
+               printf "% 6d", $mday;
+       }
+       ++$day_of_week;
+       if ($day_of_week == 7) {
+               $day_of_week = 0;
+               print "\n";
+       }
+}
+
+print "\n" if $day_of_week;
+
+# Say good bye.
+# TRANSLATORS: This may be a colloquial way of saying good bye to the user.
+#print __"Bye.\n";
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/sample/simplecal/lib/SimpleCal.pm
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/lib/SimpleCal.pm
diff -N maintain/lib/libintl-perl/sample/simplecal/lib/SimpleCal.pm
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/lib/SimpleCal.pm 12 Oct 2011 
23:51:51 -0000      1.1
@@ -0,0 +1,136 @@
+#! /bin/false
+# vim: tabstop=4
+
+package SimpleCal;
+
+use strict;
+
+# The text domain (identifier) of our package is 'org.imperia.simplecal',
+# following the advice in the pod of Locale::TextDomain.
+use Locale::TextDomain qw (org.imperia.simplecal);
+
+use base qw (Exporter);
+use vars qw (@EXPORT);
+
address@hidden = qw (month_name abbr_week_day is_leap_year);
+
+sub month_name ($)
+{
+       my $month = shift;
+       $month = 0 unless $month;
+       $month %= 12;
+
+       # This is of course stupid but explains things best.  See the
+       # function abbr_week_day() for a smarter approach.
+       if ($month == 0) {
+               return __"January";
+       } elsif  ($month == 1) {
+               return __"February";
+       } elsif  ($month == 2) {
+               return __"March";
+       } elsif  ($month == 3) {
+               return __"April";
+       } elsif  ($month == 4) {
+               return __"May";
+       } elsif  ($month == 5) {
+               return __"June";
+       } elsif  ($month == 6) {
+               return __"July";
+       } elsif  ($month == 7) {
+               return __"August";
+       } elsif  ($month == 8) {
+               return __"September";
+       } elsif  ($month == 9) {
+               return __"October";
+       } elsif  ($month == 10) {
+               return __"November";
+       } else {
+               return __"December";
+       }
+}
+
+# This is smarter.  We initialize an array with the English names first.
+# The function N__() is exported by Locale::TextDomain and returns
+# its argument unmodified.  Its sole purpose is to mark the string as
+# being translatable, so that it will make it into the pot file for
+# our package.
+#
+# It is dangerous to use __() here! Why? Then the array will be translated
+# only once, at compile time.  It is very likely that the locale settings
+# have not yet been initialized to the user preferences at this point
+# of time, and since the array is already created, the translation
+# will not produce the correct results.
+#
+# This should become clearer if you imagine that our library would be
+# part of a daemon that is running for days or even years.  The array
+# would be initialized with the language that was set at program startup
+# and would then never change again, because you actually cache the
+# translations.
+my @abbr_week_days = (
+       N__"Sun",
+       N__"Mon",
+       N__"Tue",
+       N__"Wed",
+       N__"Thu",
+       N__"Fri",
+       N__"Sat",
+);
+
+sub abbr_week_day ($)
+{
+       my $wday = shift;
+       $wday = 0 unless $wday;
+       $wday %= 7;
+
+       # The argument to __() is simply a string, not necessarily a string
+       # constant.  The following line will look up the English name in the
+       # array, and then translates that string on the fly into the current
+       # user language.
+       return __($abbr_week_days[$wday]);
+       # This can still be suboptimal because it translates the string again
+       # and again.  In situations where you are absolutely sure that the
+       # user language will not change again, you may prefer to cache the
+       # translations despite of the above hints, especially if you 
+       # call the function very many times.  In a library you can usually
+       # not be sure whether the user language can change or not and you
+       # should avoid that.  The message lookup is quite fast.
+
+       # Instead of the above return directive we could also have written:
+       #
+       #   return $__{$abbr_week_days[$wday]};
+    #
+    # resp.
+    #
+    #   return $__->{$abbr_week_days[$wday]};
+    #
+    # It is basically a matter of taste whether you prefer the tied
+       # hash lookup or the function call.
+}
+
+# Check whether the argument is a leap year.
+sub is_leap_year
+{
+       my $year = shift;
+       $year = 0 unless $year;
+
+       return 1 if $year % 4 == 0 && ($year % 100 != 0 || $year % 400 == 0);
+
+       return;
+}
+
+1;
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvsKRlBRc differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar_SA/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar_SA/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ar_SA/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvswxfWKd differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvscUWixh differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de_AT/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de_AT/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/de_AT/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvsYrQy1f differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/fr/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/fr/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/fr/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvsnnsyfj differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ga/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ga/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ga/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvszQg7Oh differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/it/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/it/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/it/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvsM2vBFi differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/nl/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/nl/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/nl/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvs08fDRl differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvsTKn3Wk differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt_BR/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt_BR/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/pt_BR/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvsQWfB7n differ

Index: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ru/LC_MESSAGES/org.imperia.simplecal.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ru/LC_MESSAGES/org.imperia.simplecal.mo
diff -N 
maintain/lib/libintl-perl/sample/simplecal/lib/LocaleData/ru/LC_MESSAGES/org.imperia.simplecal.mo
Binary files /dev/null and /tmp/cvsDniWBm differ

Index: maintain/lib/libintl-perl/sample/simplecal/po/Makefile
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/Makefile
diff -N maintain/lib/libintl-perl/sample/simplecal/po/Makefile
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/Makefile      12 Oct 2011 
23:51:54 -0000      1.1
@@ -0,0 +1,97 @@
+# Makefile for various po files.
+
+srcdir = .
+libdir = ../lib
+
+#CATALOGS = $(addsuffix .po, LINGUAS)
+CATALOGS = $(LINGUAS)
+MO_FILES = $(addsuffix .mo, $(LINGUAS))
+
+MSGMERGE = msgmerge
+MSGFMT   = msgfmt
+XGETTEXT = xgettext
+CATOBJEXT = .po
+
+include PACKAGE
+
+TD = $(strip $(TEXTDOMAIN))
+
+default: help
+
+all: $(TD).pot update-po update-mo install
+
+help:
+       @echo "Available targets:"
+       @echo "  pot                       - remake master catalog"
+       @echo "  update-po                 - merge po files"
+       @echo "  update-mo                 - regenerate mo files"
+       @echo "  install                   - install mo files"
+       @echo "  all                       - all of the above"
+
+POTFILES = $(srcdir)/POTFILES.in \
+       $(shell cat $(srcdir)/POTFILES.in) 
+
+pot: $(TD).pot 
+
+clean:
+       rm -f *~ *.bak *.mo
+
+# FIXME: The parameter --from-code is only needed if your sources contain
+# any 8 bit data (even in comments).  UTF-8 is only a guess here, but it
+# will at least accept any 8 bit data.
+#
+# The parameter "--language=perl" is not strictly needed because the
+# source language of all our files will be auto-detected by xgettext
+# by their filename extension.  You should even avoid this parameter
+# if you want to extract strings from multiple source languages.
+$(TD).pot: $(POTFILES)
+       $(XGETTEXT) --output=$(srcdir)/$(TD).pox --from-code=utf-8 \
+               --add-comments=TRANSLATORS: --files-from=$(srcdir)/POTFILES.in \
+               --copyright-holder="$(COPYRIGHT_HOLDER)" \
+               --msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \
+               --keyword --keyword='$$__' --keyword=__ --keyword=__x \
+               --keyword=__n:1,2 --keyword=__nx:1,2 --keyword=__xn:1,2 \
+               --keyword=__p:1c,2 --keyword=__np:1c,2,3 \
+               --keyword=__npx:1c,2,3 --keyword=N__ --keyword=N__n:1,2 \
+               --keyword=N__p:1c,2 --keyword=N__np:1c,2,3 --keyword=%__ \
+               --language=perl && \
+       rm -f $@ && mv $(TD).pox $@
+
+install: $(MO_FILES)
+       cd $(srcdir); \
+       targetdir='$(libdir)/LocaleData'; \
+       languages='$(LINGUAS)'; \
+       for lang in $$languages; do \
+               mkdir -p "$$targetdir/$$lang/LC_MESSAGES" || exit 1; \
+               dest="$$targetdir/$$lang/LC_MESSAGES/$(TD).mo"; \
+               cat="$$lang.mo"; \
+               echo "installing $$cat as $$dest"; \
+               cp -f $$cat $$dest && chmod 644 $$dest || exit 1; \
+       done
+
+update-mo: $(MO_FILES)
+
+update-po:
+       $(MAKE) $(TD).pot
+       cd $(srcdir); \
+        catalogs='$(CATALOGS)'; \
+        for cat in $$catalogs; do \
+          cat=`basename $$cat`; \
+          lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
+          mv $$lang.po $$lang.old.po; \
+          echo "$$lang:"; \
+          if $(MSGMERGE) $$lang.old.po $(TD).pot -o $$lang.po; then \
+            rm -f $$lang.old.po; \
+          else \
+            echo "msgmerge for $$cat failed!"; \
+            rm -f $$lang.po; \
+            mv $$lang.old.po $$lang.po; \
+          fi; \
+        done
+
+.SUFFIXES:
+.SUFFIXES: .po .mo
+
+.po.mo:
+       $(MSGFMT) --check --statistics --verbose -o $@ $<
+

Index: maintain/lib/libintl-perl/sample/simplecal/po/PACKAGE
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/PACKAGE
diff -N maintain/lib/libintl-perl/sample/simplecal/po/PACKAGE
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/PACKAGE       12 Oct 2011 
23:51:54 -0000      1.1
@@ -0,0 +1,26 @@
+# Makefile snippet that holds all package-dependent information.
+
+# Add more languages here!  Beware that this is a makefile snippet and
+# you have to adhere to make syntax.
+LINGUAS = de \
+         de_AT \
+         it \
+         ru \
+         fr \
+         ar \
+         ar_SA \
+         ga \
+         pt \
+         pt_BR \
+         nl \
+
+# Textdomain for our package.
+TEXTDOMAIN = org.imperia.simplecal
+
+# Initial copyright holder added to pot and po files.
+#COPYRIGHT_HOLDER = Guido Flohr
+COPYRIGHT_HOLDER = Edit the file PACKAGE to change this.
+
+# Where to send msgid bugs?  
+#MSGID_BUGS_ADDRESS = Guido Flohr <address@hidden>
+MSGID_BUGS_ADDRESS = Edit the file PACAKGE to change this.

Index: maintain/lib/libintl-perl/sample/simplecal/po/POTFILES.in
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/POTFILES.in
diff -N maintain/lib/libintl-perl/sample/simplecal/po/POTFILES.in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/POTFILES.in   12 Oct 2011 
23:51:54 -0000      1.1
@@ -0,0 +1,2 @@
+../bin/simplecal.pl
+../lib/SimpleCal.pm

Index: maintain/lib/libintl-perl/sample/simplecal/po/ar.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/ar.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/ar.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/ar.po 12 Oct 2011 23:51:54 
-0000      1.1
@@ -0,0 +1,97 @@
+# Arabic translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-27 18:56+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Arabic <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-6\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "êæÇêÑ"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "áÈÑÇêÑ"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "åÇÑÓ"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "ÃÈÑêä"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "åÇêè"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "êèæêè"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "êèäêè"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "ÃÚÓ×Ó"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "ÓÈÊåÈÑ"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "ÃãÊèÈÑ"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "æèáåÈÑ"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "ÏêÓåÈÑ"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "Í"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "æ"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "Ë"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "Ñ"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "Î"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "Ì"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "Ó"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "ÇçäÇ Èã {package} áê\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "!Åäé ÇääâÇÁ\n"

Index: maintain/lib/libintl-perl/sample/simplecal/po/ar_SA.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/ar_SA.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/ar_SA.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/ar_SA.po      12 Oct 2011 
23:51:54 -0000      1.1
@@ -0,0 +1,91 @@
+# Arabic translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-27 18:56+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Arabic <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-6\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "ãÇæèæ ÇäËÇæê"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "ÔÈÇ×"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "ÂÐÇÑ"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "æêÓÇæ"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "æèÇÑÇæ"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "ÍÒêÑ"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "ÊåèÒ"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "ÂÈ"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "Ãêäèä"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "ÊÔÑêæ ÇäÃèä"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "ÊÔÑêæ ÇäËÇæê"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "ãÇæèæ ÇäÃèä"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr ""

Index: maintain/lib/libintl-perl/sample/simplecal/po/de.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/de.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/de.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/de.po 12 Oct 2011 23:51:54 
-0000      1.1
@@ -0,0 +1,98 @@
+# German translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n"
+"POT-Creation-Date: 2005-08-16 18:42+0300\n"
+"PO-Revision-Date: 2003-07-28 04:06+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: German <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "Januar"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "Februar"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "März"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "April"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "Mai"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "Juni"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "Juli"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "August"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "September"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "Oktober"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "November"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "Dezember"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "So"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "Mo"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "Di"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "Mi"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "Do"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "Fr"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "Sa"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "Willkommen bei {package}!\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "Tschüss!\n"

Index: maintain/lib/libintl-perl/sample/simplecal/po/de_AT.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/de_AT.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/de_AT.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/de_AT.po      12 Oct 2011 
23:51:54 -0000      1.1
@@ -0,0 +1,92 @@
+# German (Austria) translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-27 18:47+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: German <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "Jänner"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "Feber"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr ""

Index: maintain/lib/libintl-perl/sample/simplecal/po/fr.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/fr.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/fr.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/fr.po 12 Oct 2011 23:51:54 
-0000      1.1
@@ -0,0 +1,97 @@
+# French translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-28 04:07+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: French <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "janvier"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "février"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "mars"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "avril"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "mai"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "juin"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "juillet"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "août"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "septembre"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "octobre"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "novembre"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "décembre"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "di"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "lu"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "ma"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "me"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "je"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "ve"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "sa"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "Bienvenu à {package}!\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "À toute à l'heure!\n"

Index: maintain/lib/libintl-perl/sample/simplecal/po/ga.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/ga.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/ga.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/ga.po 12 Oct 2011 23:51:54 
-0000      1.1
@@ -0,0 +1,97 @@
+# Irish translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-28 04:10+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Irish <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "Eanáir"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "Feabhra"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "Márta"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "Aibreán"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "Mí na Bealtaine"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "Meith"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "Iúil"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "Lúnasa"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "Meán Fómhair"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "Deireadh Fómhair"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "Mí na Samhna"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "Mí na Nollag"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "Domh"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "Luan"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "Máirt"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "Céad"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "Déar"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "Aoine"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "Sath"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "Béidh {package} agat agus fáilte!\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "Slán leat!\n"

Index: maintain/lib/libintl-perl/sample/simplecal/po/it.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/it.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/it.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/it.po 12 Oct 2011 23:51:55 
-0000      1.1
@@ -0,0 +1,97 @@
+# Italian translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-28 04:10+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Italian <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "gennaio"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "febbraio"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "marzo"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "aprile"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "maggio"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "giugno"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "luglio"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "agosto"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "settembre"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "ottobre"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "novembre"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "dicembre"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "dom"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "lun"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "mar"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "mer"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "gio"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "ven"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "sab"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "Benvenuti in ¾{package}!\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "Ciao!\n"

Index: maintain/lib/libintl-perl/sample/simplecal/po/nl.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/nl.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/nl.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/nl.po 12 Oct 2011 23:51:55 
-0000      1.1
@@ -0,0 +1,97 @@
+# Dutch translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-28 04:08+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Dutch <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "januari"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "februari"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "maart"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "april"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "mei"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "juni"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "juli"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "augustus"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "september"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "oktober"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "november"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "december"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "zo"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "ma"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "di"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "wo"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "do"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "vr"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "za"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "Welkom bij {package}!\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "Tot zo!\n"

Index: maintain/lib/libintl-perl/sample/simplecal/po/org.imperia.simplecal.pot
===================================================================
RCS file: 
maintain/lib/libintl-perl/sample/simplecal/po/org.imperia.simplecal.pot
diff -N maintain/lib/libintl-perl/sample/simplecal/po/org.imperia.simplecal.pot
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/org.imperia.simplecal.pot     
12 Oct 2011 23:51:55 -0000      1.1
@@ -0,0 +1,93 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Edit the file PACKAGE to change this.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <address@hidden>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: Edit the file PACAKGE to change this.\n"
+"POT-Creation-Date: 2005-08-17 11:53+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <address@hidden>\n"
+"Language-Team: LANGUAGE <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr ""
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr ""

Index: maintain/lib/libintl-perl/sample/simplecal/po/pt.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/pt.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/pt.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/pt.po 12 Oct 2011 23:51:55 
-0000      1.1
@@ -0,0 +1,97 @@
+# Portuguese translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-28 04:24+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Portuguese <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "Janeiro"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "Fevereiro"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "Março"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "Abril"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "Maio"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "Junho"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "Julho"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "Agosto"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "Setembro"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "Outubro"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "Novembro"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "Dezembro"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "Dom"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "Seg"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "Ter"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "Qua"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "Qui"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "Sex"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "Sáb"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "Bem-vindo ao {package}!\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "Até a vista!\n"

Index: maintain/lib/libintl-perl/sample/simplecal/po/pt_BR.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/pt_BR.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/pt_BR.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/pt_BR.po      12 Oct 2011 
23:51:55 -0000      1.1
@@ -0,0 +1,91 @@
+# Brazilian Portuguese translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-27 18:56+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Brazilian Portuguese <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "janeiro"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "fevereiro"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "março"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "abril"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "maio"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "junho"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "julho"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "agosto"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "setembro"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "outubro"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "novembro"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "dezembro"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "Dom"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "Seg"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "Ter"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "Qua"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "Qui"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "Sex"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "Sáb"

Index: maintain/lib/libintl-perl/sample/simplecal/po/ru.po
===================================================================
RCS file: maintain/lib/libintl-perl/sample/simplecal/po/ru.po
diff -N maintain/lib/libintl-perl/sample/simplecal/po/ru.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/sample/simplecal/po/ru.po 12 Oct 2011 23:51:55 
-0000      1.1
@@ -0,0 +1,97 @@
+# Russian translations for SimpleCal.
+# Copyright (C) 2003 Imperia AG, Guido Flohr <address@hidden>.
+# This file is distributed under the same license as libintl-perl.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: SimpleCal\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-07-28 04:27+0200\n"
+"PO-Revision-Date: 2003-07-28 04:21+0200\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: Russian <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-5\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../lib/SimpleCal.pm:26
+msgid "January"
+msgstr "ÏÝÒÐàï"
+
+#: ../lib/SimpleCal.pm:28
+msgid "February"
+msgstr "ÄÕÒàÐÛï"
+
+#: ../lib/SimpleCal.pm:30
+msgid "March"
+msgstr "¼ÐàâÐ"
+
+#: ../lib/SimpleCal.pm:32
+msgid "April"
+msgstr "°ßàÕÛï"
+
+#: ../lib/SimpleCal.pm:34
+msgid "May"
+msgstr "¼Ðï"
+
+#: ../lib/SimpleCal.pm:36
+msgid "June"
+msgstr "¸îÝï"
+
+#: ../lib/SimpleCal.pm:38
+msgid "July"
+msgstr "¸îÛï"
+
+#: ../lib/SimpleCal.pm:40
+msgid "August"
+msgstr "°ÒÓãáâÐ"
+
+#: ../lib/SimpleCal.pm:42
+msgid "September"
+msgstr "ÁÕÝâïÑàï"
+
+#: ../lib/SimpleCal.pm:44
+msgid "October"
+msgstr "¾ÚâïÑàï"
+
+#: ../lib/SimpleCal.pm:46
+msgid "November"
+msgstr "½ÞïÑàï"
+
+#: ../lib/SimpleCal.pm:48
+msgid "December"
+msgstr "´ÕÚÐÑàï"
+
+#: ../lib/SimpleCal.pm:70
+msgid "Sun"
+msgstr "²áÚ"
+
+#: ../lib/SimpleCal.pm:71
+msgid "Mon"
+msgstr "¿ÝÔ"
+
+#: ../lib/SimpleCal.pm:72
+msgid "Tue"
+msgstr "²âà"
+
+#: ../lib/SimpleCal.pm:73
+msgid "Wed"
+msgstr "ÁàÔ"
+
+#: ../lib/SimpleCal.pm:74
+msgid "Thu"
+msgstr "ÇâÒ"
+
+#: ../lib/SimpleCal.pm:75
+msgid "Fri"
+msgstr "¿âÝ"
+
+#: ../lib/SimpleCal.pm:76
+msgid "Sat"
+msgstr "ÁÑâ"
+
+#~ msgid "Welcome to {package}!\n"
+#~ msgstr "´ÞÑàÞ ßÞÖÐÛÞÒÐâì Ò {package}!\n"
+
+#~ msgid "Bye.\n"
+#~ msgstr "¿ÞÚÐ!\n"

Index: maintain/lib/libintl-perl/tests/00gettext.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/00gettext.t
diff -N maintain/lib/libintl-perl/tests/00gettext.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/00gettext.t 12 Oct 2011 23:51:55 -0000      
1.1
@@ -0,0 +1,32 @@
+# -*- perl -*-
+# Test if module loads ok.
+
+# Before `make install' is performed this script should be runnable with
+# `make test'. After `make install' it should work as `perl test.pl'
+
+######################### We start with some black magic to print on failure.
+
+# Change 1..1 below to 1..last_test_to_print .
+# (It may become useful if the test is moved to ./t subdirectory.)
+
+BEGIN { $| = 1; print "1..1\n"; }
+END {print "not ok 1\n" unless $loaded;}
+use Locale::Messages;
+$loaded = 1;
+print "ok 1\n";
+
+######################### End of black magic.
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/00recode.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/00recode.t
diff -N maintain/lib/libintl-perl/tests/00recode.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/00recode.t  12 Oct 2011 23:51:56 -0000      
1.1
@@ -0,0 +1,32 @@
+# -*- perl -*-
+# Test if module loads ok.
+
+# Before `make install' is performed this script should be runnable with
+# `make test'. After `make install' it should work as `perl test.pl'
+
+######################### We start with some black magic to print on failure.
+
+# Change 1..1 below to 1..last_test_to_print .
+# (It may become useful if the test is moved to ./t subdirectory.)
+
+BEGIN { $| = 1; print "1..1\n"; }
+END {print "not ok 1\n" unless $loaded;}
+use Locale::Recode;
+$loaded = 1;
+print "ok 1\n";
+
+######################### End of black magic.
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/01trivial.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/01trivial.t
diff -N maintain/lib/libintl-perl/tests/01trivial.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/01trivial.t 12 Oct 2011 23:51:56 -0000      
1.1
@@ -0,0 +1,65 @@
+# -*- perl -*-
+# A trivial conversion.
+
+# Before `make install' is performed this script should be runnable with
+# `make test'. After `make install' it should work as `perl test.pl'
+
+use strict;
+use Test;
+
+BEGIN { plan tests => 4 }
+
+require Locale::Recode;
+
+sub compare_internal;
+
+my $text = 'Perl';
+my $expect = [ unpack 'C*', $text ];
+my $cd = Locale::Recode->new (from => 'ISO-8859-1',
+                                                        to => 'INTERNAL');
+
+ok !$cd->getError;
+
+my $result = $text;
+ok $cd->recode ($result) && compare_internal $expect => $result;
+
+# Aliases!
+$cd = Locale::Recode->new (from => 'lAtIn2',
+                                                 to => 'l3');
+
+ok !$cd->getError;
+
+$result = $expect = $text;
+ok $cd->recode ($result) && $result eq $expect;
+
+sub compare_internal
+{
+       my ($bonny, $clyde) = @_;
+
+       return unless defined $bonny;
+       return unless defined $clyde;
+       return unless 'ARRAY' eq ref $bonny;
+       return unless 'ARRAY' eq ref $clyde;
+
+       return unless @$bonny == @$clyde;
+       
+       for (my $i = 0; $i < @$bonny; ++$i) {
+               return unless $bonny->[$i] == $clyde->[$i];
+       }
+
+       return 1;
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/02asmo_449.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02asmo_449.t
diff -N maintain/lib/libintl-perl/tests/02asmo_449.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02asmo_449.t        12 Oct 2011 23:51:56 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ASMO_449',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ASMO_449',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ASMO_449');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ASMO_449',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x00a4
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x060c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x061b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x061f
+0x40   0x0040
+0x41   0x0621
+0x42   0x0622
+0x43   0x0623
+0x44   0x0624
+0x45   0x0625
+0x46   0x0626
+0x47   0x0627
+0x48   0x0628
+0x49   0x0629
+0x4a   0x062a
+0x4b   0x062b
+0x4c   0x062c
+0x4d   0x062d
+0x4e   0x062e
+0x4f   0x062f
+0x50   0x0630
+0x51   0x0631
+0x52   0x0632
+0x53   0x0633
+0x54   0x0634
+0x55   0x0635
+0x56   0x0636
+0x57   0x0637
+0x58   0x0638
+0x59   0x0639
+0x5a   0x063a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0640
+0x61   0x0641
+0x62   0x0642
+0x63   0x0643
+0x64   0x0644
+0x65   0x0645
+0x66   0x0646
+0x67   0x0647
+0x68   0x0648
+0x69   0x0649
+0x6a   0x064a
+0x6b   0x064b
+0x6c   0x064c
+0x6d   0x064d
+0x6e   0x064e
+0x6f   0x064f
+0x70   0x0650
+0x71   0x0651
+0x72   0x0652
+0x7b   0xfffd
+0x7b   0xfffd
+0x7b   0xfffd
+0x7b   0xfffd
+0x7b   0xfffd
+0x7b   0xfffd
+0x7b   0xfffd
+0x7b   0xfffd
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x203e
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02atari-st-euro.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02atari-st-euro.t
diff -N maintain/lib/libintl-perl/tests/02atari-st-euro.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02atari-st-euro.t   12 Oct 2011 23:51:56 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ATARI-ST-EURO',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ATARI-ST-EURO',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ATARI-ST-EURO');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ATARI-ST',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x00ec
+0x8e   0x00c4
+0x8f   0x00c5
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x00f2
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x00ff
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00a2
+0x9c   0x00a3
+0x9d   0x00a5
+0x9e   0x00df
+0x9f   0x0192
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x00ba
+0xa8   0x00bf
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x00e3
+0xb1   0x00f5
+0xb2   0x00d8
+0xb3   0x00f8
+0xb4   0x0153
+0xb5   0x0152
+0xb6   0x00c0
+0xb7   0x00c3
+0xb8   0x00d5
+0xb9   0x00a8
+0xba   0x00b4
+0xbb   0x2020
+0xbc   0x00b6
+0xbd   0x00a9
+0xbe   0x00ae
+0xbf   0x2122
+0xc0   0x0133
+0xc1   0x0132
+0xc2   0x05d0
+0xc3   0x05d1
+0xc4   0x05d2
+0xc5   0x05d3
+0xc6   0x05d4
+0xc7   0x05d5
+0xc8   0x05d6
+0xc9   0x05d7
+0xca   0x05d8
+0xcb   0x05d9
+0xcc   0x05db
+0xcd   0x05dc
+0xce   0x05de
+0xcf   0x05e0
+0xd0   0x05e1
+0xd1   0x05e2
+0xd2   0x05e4
+0xd3   0x05e6
+0xd4   0x05e7
+0xd5   0x05e8
+0xd6   0x05e9
+0xd7   0x05ea
+0xd8   0x05df
+0xd9   0x05da
+0xda   0x05dd
+0xdb   0x05e3
+0xdc   0x05e5
+0xdd   0x00a7
+0xde   0x20ac
+0xdf   0x221e
+0xe0   0x03b1
+0xe1   0x03b2
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x03b8
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x222e
+0xed   0x03c6
+0xee   0x2208
+0xef   0x220f
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2022
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x00b3
+0xff   0x00af

Index: maintain/lib/libintl-perl/tests/02atari-st.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02atari-st.t
diff -N maintain/lib/libintl-perl/tests/02atari-st.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02atari-st.t        12 Oct 2011 23:51:56 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ATARI-ST',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ATARI-ST',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ATARI-ST');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ATARI-ST',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x00ec
+0x8e   0x00c4
+0x8f   0x00c5
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x00f2
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x00ff
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00a2
+0x9c   0x00a3
+0x9d   0x00a5
+0x9e   0x00df
+0x9f   0x0192
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x00ba
+0xa8   0x00bf
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x00e3
+0xb1   0x00f5
+0xb2   0x00d8
+0xb3   0x00f8
+0xb4   0x0153
+0xb5   0x0152
+0xb6   0x00c0
+0xb7   0x00c3
+0xb8   0x00d5
+0xb9   0x00a8
+0xba   0x00b4
+0xbb   0x2020
+0xbc   0x00b6
+0xbd   0x00a9
+0xbe   0x00ae
+0xbf   0x2122
+0xc0   0x0133
+0xc1   0x0132
+0xc2   0x05d0
+0xc3   0x05d1
+0xc4   0x05d2
+0xc5   0x05d3
+0xc6   0x05d4
+0xc7   0x05d5
+0xc8   0x05d6
+0xc9   0x05d7
+0xca   0x05d8
+0xcb   0x05d9
+0xcc   0x05db
+0xcd   0x05dc
+0xce   0x05de
+0xcf   0x05e0
+0xd0   0x05e1
+0xd1   0x05e2
+0xd2   0x05e4
+0xd3   0x05e6
+0xd4   0x05e7
+0xd5   0x05e8
+0xd6   0x05e9
+0xd7   0x05ea
+0xd8   0x05df
+0xd9   0x05da
+0xda   0x05dd
+0xdb   0x05e3
+0xdc   0x05e5
+0xdd   0x00a7
+0xde   0x2038
+0xdf   0x221e
+0xe0   0x03b1
+0xe1   0x03b2
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x03b8
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x222e
+0xed   0x03c6
+0xee   0x2208
+0xef   0x220f
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2022
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x00b3
+0xff   0x00af

Index: maintain/lib/libintl-perl/tests/02cp10007.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp10007.t
diff -N maintain/lib/libintl-perl/tests/02cp10007.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp10007.t 12 Oct 2011 23:51:56 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP10007',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP10007',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP10007');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP10007',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0410
+0x81   0x0411
+0x82   0x0412
+0x83   0x0413
+0x84   0x0414
+0x85   0x0415
+0x86   0x0416
+0x87   0x0417
+0x88   0x0418
+0x89   0x0419
+0x8a   0x041a
+0x8b   0x041b
+0x8c   0x041c
+0x8d   0x041d
+0x8e   0x041e
+0x8f   0x041f
+0x90   0x0420
+0x91   0x0421
+0x92   0x0422
+0x93   0x0423
+0x94   0x0424
+0x95   0x0425
+0x96   0x0426
+0x97   0x0427
+0x98   0x0428
+0x99   0x0429
+0x9a   0x042a
+0x9b   0x042b
+0x9c   0x042c
+0x9d   0x042d
+0x9e   0x042e
+0x9f   0x042f
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x0406
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x0402
+0xac   0x0452
+0xad   0x2260
+0xae   0x0403
+0xaf   0x0453
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x0456
+0xb5   0x00b5
+0xb6   0x0491
+0xb7   0x0408
+0xb8   0x0404
+0xb9   0x0454
+0xba   0x0407
+0xbb   0x0457
+0xbc   0x0409
+0xbd   0x0459
+0xbe   0x040a
+0xbf   0x045a
+0xc0   0x0458
+0xc1   0x0405
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x040b
+0xcc   0x045b
+0xcd   0x040c
+0xce   0x045c
+0xcf   0x0455
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x201e
+0xd8   0x040e
+0xd9   0x045e
+0xda   0x040f
+0xdb   0x045f
+0xdc   0x2116
+0xdd   0x0401
+0xde   0x0451
+0xdf   0x044f
+0xe0   0x0430
+0xe1   0x0431
+0xe2   0x0432
+0xe3   0x0433
+0xe4   0x0434
+0xe5   0x0435
+0xe6   0x0436
+0xe7   0x0437
+0xe8   0x0438
+0xe9   0x0439
+0xea   0x043a
+0xeb   0x043b
+0xec   0x043c
+0xed   0x043d
+0xee   0x043e
+0xef   0x043f
+0xf0   0x0440
+0xf1   0x0441
+0xf2   0x0442
+0xf3   0x0443
+0xf4   0x0444
+0xf5   0x0445
+0xf6   0x0446
+0xf7   0x0447
+0xf8   0x0448
+0xf9   0x0449
+0xfa   0x044a
+0xfb   0x044b
+0xfc   0x044c
+0xfd   0x044d
+0xfe   0x044e
+0xff   0x00a4

Index: maintain/lib/libintl-perl/tests/02cp1250.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp1250.t
diff -N maintain/lib/libintl-perl/tests/02cp1250.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp1250.t  12 Oct 2011 23:51:56 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP1250',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP1250',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP1250');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP1250',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x82   0xfffd
+0x82   0x201a
+0x84   0xfffd
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x89   0xfffd
+0x89   0x2030
+0x8a   0x0160
+0x8b   0x2039
+0x8c   0x015a
+0x8d   0x0164
+0x8e   0x017d
+0x8f   0x0179
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x99   0xfffd
+0x99   0x2122
+0x9a   0x0161
+0x9b   0x203a
+0x9c   0x015b
+0x9d   0x0165
+0x9e   0x017e
+0x9f   0x017a
+0xa0   0x00a0
+0xa1   0x02c7
+0xa2   0x02d8
+0xa3   0x0141
+0xa4   0x00a4
+0xa5   0x0104
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x015e
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x017b
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x02db
+0xb3   0x0142
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x0105
+0xba   0x015f
+0xbb   0x00bb
+0xbc   0x013d
+0xbd   0x02dd
+0xbe   0x013e
+0xbf   0x017c
+0xc0   0x0154
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x0102
+0xc4   0x00c4
+0xc5   0x0139
+0xc6   0x0106
+0xc7   0x00c7
+0xc8   0x010c
+0xc9   0x00c9
+0xca   0x0118
+0xcb   0x00cb
+0xcc   0x011a
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x010e
+0xd0   0x0110
+0xd1   0x0143
+0xd2   0x0147
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x0150
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x0158
+0xd9   0x016e
+0xda   0x00da
+0xdb   0x0170
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x0162
+0xdf   0x00df
+0xe0   0x0155
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x0103
+0xe4   0x00e4
+0xe5   0x013a
+0xe6   0x0107
+0xe7   0x00e7
+0xe8   0x010d
+0xe9   0x00e9
+0xea   0x0119
+0xeb   0x00eb
+0xec   0x011b
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x010f
+0xf0   0x0111
+0xf1   0x0144
+0xf2   0x0148
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x0151
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x0159
+0xf9   0x016f
+0xfa   0x00fa
+0xfb   0x0171
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x0163
+0xff   0x02d9

Index: maintain/lib/libintl-perl/tests/02cp1251.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp1251.t
diff -N maintain/lib/libintl-perl/tests/02cp1251.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp1251.t  12 Oct 2011 23:51:56 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP1251',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP1251',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP1251');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP1251',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0402
+0x81   0x0403
+0x82   0x201a
+0x83   0x0453
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x88   0x20ac
+0x89   0x2030
+0x8a   0x0409
+0x8b   0x2039
+0x8c   0x040a
+0x8d   0x040c
+0x8e   0x040b
+0x8f   0x040f
+0x90   0x0452
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x99   0xfffd
+0x99   0x2122
+0x9a   0x0459
+0x9b   0x203a
+0x9c   0x045a
+0x9d   0x045c
+0x9e   0x045b
+0x9f   0x045f
+0xa0   0x00a0
+0xa1   0x040e
+0xa2   0x045e
+0xa3   0x0408
+0xa4   0x00a4
+0xa5   0x0490
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x0401
+0xa9   0x00a9
+0xaa   0x0404
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x0407
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x0406
+0xb3   0x0456
+0xb4   0x0491
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x0451
+0xb9   0x2116
+0xba   0x0454
+0xbb   0x00bb
+0xbc   0x0458
+0xbd   0x0405
+0xbe   0x0455
+0xbf   0x0457
+0xc0   0x0410
+0xc1   0x0411
+0xc2   0x0412
+0xc3   0x0413
+0xc4   0x0414
+0xc5   0x0415
+0xc6   0x0416
+0xc7   0x0417
+0xc8   0x0418
+0xc9   0x0419
+0xca   0x041a
+0xcb   0x041b
+0xcc   0x041c
+0xcd   0x041d
+0xce   0x041e
+0xcf   0x041f
+0xd0   0x0420
+0xd1   0x0421
+0xd2   0x0422
+0xd3   0x0423
+0xd4   0x0424
+0xd5   0x0425
+0xd6   0x0426
+0xd7   0x0427
+0xd8   0x0428
+0xd9   0x0429
+0xda   0x042a
+0xdb   0x042b
+0xdc   0x042c
+0xdd   0x042d
+0xde   0x042e
+0xdf   0x042f
+0xe0   0x0430
+0xe1   0x0431
+0xe2   0x0432
+0xe3   0x0433
+0xe4   0x0434
+0xe5   0x0435
+0xe6   0x0436
+0xe7   0x0437
+0xe8   0x0438
+0xe9   0x0439
+0xea   0x043a
+0xeb   0x043b
+0xec   0x043c
+0xed   0x043d
+0xee   0x043e
+0xef   0x043f
+0xf0   0x0440
+0xf1   0x0441
+0xf2   0x0442
+0xf3   0x0443
+0xf4   0x0444
+0xf5   0x0445
+0xf6   0x0446
+0xf7   0x0447
+0xf8   0x0448
+0xf9   0x0449
+0xfa   0x044a
+0xfb   0x044b
+0xfc   0x044c
+0xfd   0x044d
+0xfe   0x044e
+0xff   0x044f

Index: maintain/lib/libintl-perl/tests/02cp1252.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp1252.t
diff -N maintain/lib/libintl-perl/tests/02cp1252.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp1252.t  12 Oct 2011 23:51:56 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP1252',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP1252',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP1252');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP1252',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x82   0xfffd
+0x82   0x201a
+0x83   0x0192
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x88   0x02c6
+0x89   0x2030
+0x8a   0x0160
+0x8b   0x2039
+0x8c   0x0152
+0x8e   0xfffd
+0x8e   0x017d
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x98   0x02dc
+0x99   0x2122
+0x9a   0x0161
+0x9b   0x203a
+0x9c   0x0153
+0x9e   0xfffd
+0x9e   0x017e
+0x9f   0x0178
+0xa0   0x00a0
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00bf
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x00d0
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x00de
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x00f0
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x00fe
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02cp1253.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp1253.t
diff -N maintain/lib/libintl-perl/tests/02cp1253.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp1253.t  12 Oct 2011 23:51:57 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP1253',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP1253',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP1253');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP1253',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x82   0xfffd
+0x82   0x201a
+0x83   0x0192
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x89   0xfffd
+0x89   0x2030
+0x8b   0xfffd
+0x8b   0x2039
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x99   0xfffd
+0x99   0x2122
+0x9b   0xfffd
+0x9b   0x203a
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0x00a0
+0xa1   0x0385
+0xa2   0x0386
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xab   0xfffd
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x2015
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x0384
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x0388
+0xb9   0x0389
+0xba   0x038a
+0xbb   0x00bb
+0xbc   0x038c
+0xbd   0x00bd
+0xbe   0x038e
+0xbf   0x038f
+0xc0   0x0390
+0xc1   0x0391
+0xc2   0x0392
+0xc3   0x0393
+0xc4   0x0394
+0xc5   0x0395
+0xc6   0x0396
+0xc7   0x0397
+0xc8   0x0398
+0xc9   0x0399
+0xca   0x039a
+0xcb   0x039b
+0xcc   0x039c
+0xcd   0x039d
+0xce   0x039e
+0xcf   0x039f
+0xd0   0x03a0
+0xd1   0x03a1
+0xd3   0xfffd
+0xd3   0x03a3
+0xd4   0x03a4
+0xd5   0x03a5
+0xd6   0x03a6
+0xd7   0x03a7
+0xd8   0x03a8
+0xd9   0x03a9
+0xda   0x03aa
+0xdb   0x03ab
+0xdc   0x03ac
+0xdd   0x03ad
+0xde   0x03ae
+0xdf   0x03af
+0xe0   0x03b0
+0xe1   0x03b1
+0xe2   0x03b2
+0xe3   0x03b3
+0xe4   0x03b4
+0xe5   0x03b5
+0xe6   0x03b6
+0xe7   0x03b7
+0xe8   0x03b8
+0xe9   0x03b9
+0xea   0x03ba
+0xeb   0x03bb
+0xec   0x03bc
+0xed   0x03bd
+0xee   0x03be
+0xef   0x03bf
+0xf0   0x03c0
+0xf1   0x03c1
+0xf2   0x03c2
+0xf3   0x03c3
+0xf4   0x03c4
+0xf5   0x03c5
+0xf6   0x03c6
+0xf7   0x03c7
+0xf8   0x03c8
+0xf9   0x03c9
+0xfa   0x03ca
+0xfb   0x03cb
+0xfc   0x03cc
+0xfd   0x03cd
+0xfe   0x03ce
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02cp1254.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp1254.t
diff -N maintain/lib/libintl-perl/tests/02cp1254.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp1254.t  12 Oct 2011 23:51:57 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP1254',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP1254',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP1254');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP1254',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x82   0xfffd
+0x82   0x201a
+0x83   0x0192
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x88   0x02c6
+0x89   0x2030
+0x8a   0x0160
+0x8b   0x2039
+0x8c   0x0152
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x98   0x02dc
+0x99   0x2122
+0x9a   0x0161
+0x9b   0x203a
+0x9c   0x0153
+0x9f   0xfffd
+0x9f   0xfffd
+0x9f   0x0178
+0xa0   0x00a0
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00bf
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x011e
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x0130
+0xde   0x015e
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x011f
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x0131
+0xfe   0x015f
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02cp1256.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp1256.t
diff -N maintain/lib/libintl-perl/tests/02cp1256.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp1256.t  12 Oct 2011 23:51:57 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP1256',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP1256',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP1256');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP1256',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x81   0x067e
+0x82   0x201a
+0x83   0x0192
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x88   0x02c6
+0x89   0x2030
+0x8a   0x0679
+0x8b   0x2039
+0x8c   0x0152
+0x8d   0x0686
+0x8e   0x0698
+0x8f   0x0688
+0x90   0x06af
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x98   0x06a9
+0x99   0x2122
+0x9a   0x0691
+0x9b   0x203a
+0x9c   0x0153
+0x9d   0x200c
+0x9e   0x200d
+0x9f   0x06ba
+0xa0   0x00a0
+0xa1   0x060c
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x06be
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x061b
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x061f
+0xc0   0x06c1
+0xc1   0x0621
+0xc2   0x0622
+0xc3   0x0623
+0xc4   0x0624
+0xc5   0x0625
+0xc6   0x0626
+0xc7   0x0627
+0xc8   0x0628
+0xc9   0x0629
+0xca   0x062a
+0xcb   0x062b
+0xcc   0x062c
+0xcd   0x062d
+0xce   0x062e
+0xcf   0x062f
+0xd0   0x0630
+0xd1   0x0631
+0xd2   0x0632
+0xd3   0x0633
+0xd4   0x0634
+0xd5   0x0635
+0xd6   0x0636
+0xd7   0x00d7
+0xd8   0x0637
+0xd9   0x0638
+0xda   0x0639
+0xdb   0x063a
+0xdc   0x0640
+0xdd   0x0641
+0xde   0x0642
+0xdf   0x0643
+0xe0   0x00e0
+0xe1   0x0644
+0xe2   0x00e2
+0xe3   0x0645
+0xe4   0x0646
+0xe5   0x0647
+0xe6   0x0648
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x0649
+0xed   0x064a
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x064b
+0xf1   0x064c
+0xf2   0x064d
+0xf3   0x064e
+0xf4   0x00f4
+0xf5   0x064f
+0xf6   0x0650
+0xf7   0x00f7
+0xf8   0x0651
+0xf9   0x00f9
+0xfa   0x0652
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x200e
+0xfe   0x200f
+0xff   0x06d2

Index: maintain/lib/libintl-perl/tests/02cp1257.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cp1257.t
diff -N maintain/lib/libintl-perl/tests/02cp1257.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cp1257.t  12 Oct 2011 23:51:57 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CP1257',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CP1257',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CP1257');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CP1257',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x82   0xfffd
+0x82   0x201a
+0x84   0xfffd
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x89   0xfffd
+0x89   0x2030
+0x8b   0xfffd
+0x8b   0x2039
+0x8d   0xfffd
+0x8d   0x00a8
+0x8e   0x02c7
+0x8f   0x00b8
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x99   0xfffd
+0x99   0x2122
+0x9b   0xfffd
+0x9b   0x203a
+0x9d   0xfffd
+0x9d   0x00af
+0x9e   0x02db
+0xa0   0xfffd
+0xa0   0x00a0
+0xa2   0xfffd
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa6   0xfffd
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00d8
+0xa9   0x00a9
+0xaa   0x0156
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00c6
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00f8
+0xb9   0x00b9
+0xba   0x0157
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00e6
+0xc0   0x0104
+0xc1   0x012e
+0xc2   0x0100
+0xc3   0x0106
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x0118
+0xc7   0x0112
+0xc8   0x010c
+0xc9   0x00c9
+0xca   0x0179
+0xcb   0x0116
+0xcc   0x0122
+0xcd   0x0136
+0xce   0x012a
+0xcf   0x013b
+0xd0   0x0160
+0xd1   0x0143
+0xd2   0x0145
+0xd3   0x00d3
+0xd4   0x014c
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x0172
+0xd9   0x0141
+0xda   0x015a
+0xdb   0x016a
+0xdc   0x00dc
+0xdd   0x017b
+0xde   0x017d
+0xdf   0x00df
+0xe0   0x0105
+0xe1   0x012f
+0xe2   0x0101
+0xe3   0x0107
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x0119
+0xe7   0x0113
+0xe8   0x010d
+0xe9   0x00e9
+0xea   0x017a
+0xeb   0x0117
+0xec   0x0123
+0xed   0x0137
+0xee   0x012b
+0xef   0x013c
+0xf0   0x0161
+0xf1   0x0144
+0xf2   0x0146
+0xf3   0x00f3
+0xf4   0x014d
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x0173
+0xf9   0x0142
+0xfa   0x015b
+0xfb   0x016b
+0xfc   0x00fc
+0xfd   0x017c
+0xfe   0x017e
+0xff   0x02d9

Index: maintain/lib/libintl-perl/tests/02csn_369103.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02csn_369103.t
diff -N maintain/lib/libintl-perl/tests/02csn_369103.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02csn_369103.t      12 Oct 2011 23:51:57 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CSN_369103',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CSN_369103',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CSN_369103');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CSN_369103',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x00a4
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0104
+0xa2   0x02d8
+0xa3   0x0141
+0xa4   0x0024
+0xa5   0x013d
+0xa6   0x015a
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x0160
+0xaa   0x015e
+0xab   0x0164
+0xac   0x0179
+0xad   0x00ad
+0xae   0x017d
+0xaf   0x017b
+0xb0   0x00b0
+0xb1   0x0105
+0xb2   0x02db
+0xb3   0x0142
+0xb4   0x00b4
+0xb5   0x013e
+0xb6   0x015b
+0xb7   0x02c7
+0xb8   0x00b8
+0xb9   0x0161
+0xba   0x015f
+0xbb   0x0165
+0xbc   0x017a
+0xbd   0x02dd
+0xbe   0x017e
+0xbf   0x017c
+0xc0   0x0154
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x0102
+0xc4   0x00c4
+0xc5   0x0139
+0xc6   0x0106
+0xc7   0x00c7
+0xc8   0x010c
+0xc9   0x00c9
+0xca   0x0118
+0xcb   0x00cb
+0xcc   0x011a
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x010e
+0xd0   0x0110
+0xd1   0x0143
+0xd2   0x0147
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x0150
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x0158
+0xd9   0x016e
+0xda   0x00da
+0xdb   0x0170
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x0162
+0xdf   0x00df
+0xe0   0x0155
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x0103
+0xe4   0x00e4
+0xe5   0x013a
+0xe6   0x0107
+0xe7   0x00e7
+0xe8   0x010d
+0xe9   0x00e9
+0xea   0x0119
+0xeb   0x00eb
+0xec   0x011b
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x010f
+0xf0   0x0111
+0xf1   0x0144
+0xf2   0x0148
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x0151
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x0159
+0xf9   0x016f
+0xfa   0x00fa
+0xfb   0x0171
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x0163
+0xff   0x02d9

Index: maintain/lib/libintl-perl/tests/02cwi.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02cwi.t
diff -N maintain/lib/libintl-perl/tests/02cwi.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02cwi.t     12 Oct 2011 23:51:57 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'CWI',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'CWI',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'CWI');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'CWI',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x00cd
+0x8e   0x00c4
+0x8f   0x00c1
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x0151
+0x94   0x00f6
+0x95   0x00d3
+0x96   0x0171
+0x97   0x00da
+0x98   0x0170
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00a2
+0x9c   0x00a3
+0x9d   0x00a5
+0x9e   0x20a7
+0x9f   0xe01f
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x0150
+0xa8   0x00bf
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x03b1
+0xe1   0x03b2
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x03bc
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x0398
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x221e
+0xed   0x2205
+0xee   0x03b5
+0xef   0x2229
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x2218
+0xf9   0x00b7
+0xfa   0x2022
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02dec-mcs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02dec-mcs.t
diff -N maintain/lib/libintl-perl/tests/02dec-mcs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02dec-mcs.t 12 Oct 2011 23:51:57 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'DEC-MCS',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'DEC-MCS',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'DEC-MCS');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'DEC-MCS',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa1   0xfffd
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa5   0xfffd
+0xa5   0x00a5
+0xa7   0xfffd
+0xa7   0x00a7
+0xa8   0x00a4
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xb0   0xfffd
+0xb0   0xfffd
+0xb0   0xfffd
+0xb0   0xfffd
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb5   0xfffd
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb9   0xfffd
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbf   0xfffd
+0xbf   0x00bf
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd1   0xfffd
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x0152
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x0178
+0xdf   0xfffd
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf1   0xfffd
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x0153
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00ff
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02ebcdic-at-de-a.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-at-de-a.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-at-de-a.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-at-de-a.t  12 Oct 2011 23:51:57 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-AT-DE-A',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-AT-DE-A',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-AT-DE-A');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-AT-DE-A',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00f6
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00fc
+0x5b   0x00dc
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00df
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0x003a
+0x7b   0x00c4
+0x7c   0x00d6
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x00e4
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-at-de.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-at-de.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-at-de.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-at-de.t    12 Oct 2011 23:51:57 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-AT-DE',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-AT-DE',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-AT-DE');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-AT-DE',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00c4
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00dc
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x00a7
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00df
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e4
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00fc
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x00d6
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-ca-fr.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-ca-fr.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-ca-fr.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-ca-fr.t    12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-CA-FR',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-CA-FR',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-CA-FR');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-CA-FR',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x42   0xfffd
+0x42   0x00e2
+0x48   0xfffd
+0x48   0xfffd
+0x48   0xfffd
+0x48   0xfffd
+0x48   0xfffd
+0x48   0x00e7
+0x4a   0xfffd
+0x4a   0x00e0
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x52   0xfffd
+0x52   0x00ea
+0x53   0x00eb
+0x56   0xfffd
+0x56   0xfffd
+0x56   0x00ee
+0x57   0x00ef
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00b4
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x64   0xfffd
+0x64   0x00c0
+0x68   0xfffd
+0x68   0xfffd
+0x68   0xfffd
+0x68   0x00c7
+0x6a   0xfffd
+0x6a   0x00f9
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x71   0xfffd
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x75   0xfffd
+0x75   0x00ce
+0x76   0x00cf
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e9
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xcb   0xfffd
+0xcb   0x00f4
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00e8
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xdb   0xfffd
+0xdb   0x00fb
+0xdc   0x00fc
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x00b8
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xeb   0xfffd
+0xeb   0x00d4
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfb   0xfffd
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-dk-no-a.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-dk-no-a.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-dk-no-a.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-dk-no-a.t  12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-DK-NO-A',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-DK-NO-A',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-DK-NO-A');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-DK-NO-A',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00f8
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00e5
+0x5b   0x00c5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0x003a
+0x7b   0x00c6
+0x7c   0x00d8
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x00e6
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-dk-no.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-dk-no.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-dk-no.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-dk-no.t    12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-DK-NO',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-DK-NO',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-DK-NO');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-DK-NO',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x0023
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00a4
+0x5b   0x00c5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f8
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00c6
+0x7c   0x00d8
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00fc
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e6
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00e5
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-es-a.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-es-a.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-es-a.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-es-a.t     12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-ES-A',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-ES-A',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-ES-A');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-ES-A',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x0021
+0x5b   0x20a7
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0x003a
+0x7b   0x00d1
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x00f1
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-es-s.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-es-s.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-es-s.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-es-s.t     12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-ES-S',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-ES-S',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-ES-S');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-ES-S',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x0021
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f1
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00d1
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-es.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-es.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-es.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-es.t       12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-ES',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-ES',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-ES');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-ES',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x0021
+0x5b   0x20a7
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f1
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00d1
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-fi-se-a.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-fi-se-a.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-fi-se-a.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-fi-se-a.t  12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-FI-SE-A',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-FI-SE-A',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-FI-SE-A');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-FI-SE-A',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00f6
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00e5
+0x5b   0x00c5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0xfffd
+0x7a   0x003a
+0x7b   0x00c4
+0x7c   0x00d6
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x00e4
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0xfffd
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-fi-se.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-fi-se.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-fi-se.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-fi-se.t    12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-FI-SE',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-FI-SE',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-FI-SE');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-FI-SE',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00a7
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00a4
+0x5b   0x00c5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x00e9
+0x7a   0x003a
+0x7b   0x00c4
+0x7c   0x00d6
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00fc
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e4
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00e5
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x00c9
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-fr.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-fr.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-fr.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-fr.t       12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-FR',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-FR',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-FR');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-FR',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00b0
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00a7
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f9
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00a3
+0x7c   0x00e0
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e9
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00e8
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x00e7
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-is-friss.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-is-friss.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-is-friss.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-is-friss.t 12 Oct 2011 23:51:58 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-IS-FRISS',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-IS-FRISS',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-IS-FRISS');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-IS-FRISS',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0x0020
+0x45   0xfffd
+0x45   0xfffd
+0x45   0xfffd
+0x45   0xfffd
+0x45   0x00e1
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x003c
+0x4b   0x002e
+0x4c   0x00c1
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x00d0
+0x51   0x00e9
+0x55   0xfffd
+0x55   0xfffd
+0x55   0xfffd
+0x55   0x00ed
+0x59   0xfffd
+0x59   0xfffd
+0x59   0xfffd
+0x59   0x0024
+0x5a   0x0025
+0x5b   0x00c9
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x0026
+0x60   0x002d
+0x61   0x002f
+0x69   0xfffd
+0x69   0xfffd
+0x69   0xfffd
+0x69   0xfffd
+0x69   0xfffd
+0x69   0xfffd
+0x69   0xfffd
+0x69   0x0023
+0x6a   0x2018
+0x6b   0x002c
+0x6c   0x00de
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x75   0xfffd
+0x75   0xfffd
+0x75   0xfffd
+0x75   0xfffd
+0x75   0xfffd
+0x75   0x00cd
+0x78   0xfffd
+0x78   0xfffd
+0x78   0x007c
+0x79   0x00f0
+0x7a   0x003a
+0x7b   0x00c6
+0x7c   0x00d6
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8d   0xfffd
+0x8d   0xfffd
+0x8d   0xfffd
+0x8d   0x00dd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0x00b0
+0xa1   0x00f6
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xac   0xfffd
+0xac   0xfffd
+0xac   0x005b
+0xad   0x00fd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0xfffd
+0xbc   0x005d
+0xbd   0x00a8
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00fe
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xce   0xfffd
+0xce   0xfffd
+0xce   0xfffd
+0xce   0xfffd
+0xce   0x00f3
+0xd0   0xfffd
+0xd0   0x00e6
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xde   0xfffd
+0xde   0xfffd
+0xde   0xfffd
+0xde   0xfffd
+0xde   0x00fa
+0xe0   0xfffd
+0xe0   0x00b4
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xee   0xfffd
+0xee   0xfffd
+0xee   0xfffd
+0xee   0xfffd
+0xee   0x00d3
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfe   0xfffd
+0xfe   0xfffd
+0xfe   0xfffd
+0xfe   0xfffd
+0xfe   0x00da
+0xff   0x007f

Index: maintain/lib/libintl-perl/tests/02ebcdic-it.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-it.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-it.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-it.t       12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-IT',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-IT',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-IT');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-IT',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00b0
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x00e9
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f2
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x00f9
+0x7a   0x003a
+0x7b   0x00a3
+0x7c   0x00a7
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00ec
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e0
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00e8
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x00e7
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-pt.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-pt.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-pt.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-pt.t       12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-PT',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-PT',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-PT');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-PT',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f5
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00c3
+0x7c   0x00d5
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00e7
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e3
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00b4
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x00c7
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-uk.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-uk.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-uk.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-uk.t       12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-UK',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-UK',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-UK');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-UK',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x0024
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x0021
+0x5b   0x00a3
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x203e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ebcdic-us.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ebcdic-us.t
diff -N maintain/lib/libintl-perl/tests/02ebcdic-us.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ebcdic-us.t       12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'EBCDIC-US',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'EBCDIC-US',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'EBCDIC-US');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'EBCDIC-US',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x0021
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ecma-cyrillic.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ecma-cyrillic.t
diff -N maintain/lib/libintl-perl/tests/02ecma-cyrillic.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ecma-cyrillic.t   12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ECMA-CYRILLIC',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ECMA-CYRILLIC',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ECMA-CYRILLIC');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ECMA-CYRILLIC',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0452
+0xa2   0x0453
+0xa3   0x0451
+0xa4   0x0454
+0xa5   0x0455
+0xa6   0x0456
+0xa7   0x0457
+0xa8   0x0458
+0xa9   0x0459
+0xaa   0x045a
+0xab   0x045b
+0xac   0x045c
+0xad   0x00ad
+0xae   0x045e
+0xaf   0x045f
+0xb0   0x2116
+0xb1   0x0402
+0xb2   0x0403
+0xb3   0x0401
+0xb4   0x0404
+0xb5   0x0405
+0xb6   0x0406
+0xb7   0x0407
+0xb8   0x0408
+0xb9   0x0409
+0xba   0x040a
+0xbb   0x040b
+0xbc   0x040c
+0xbd   0x00a4
+0xbe   0x040e
+0xbf   0x040f
+0xc0   0x044e
+0xc1   0x0430
+0xc2   0x0431
+0xc3   0x0446
+0xc4   0x0434
+0xc5   0x0435
+0xc6   0x0444
+0xc7   0x0433
+0xc8   0x0445
+0xc9   0x0438
+0xca   0x0439
+0xcb   0x043a
+0xcc   0x043b
+0xcd   0x043c
+0xce   0x043d
+0xcf   0x043e
+0xd0   0x043f
+0xd1   0x044f
+0xd2   0x0440
+0xd3   0x0441
+0xd4   0x0442
+0xd5   0x0443
+0xd6   0x0436
+0xd7   0x0432
+0xd8   0x044c
+0xd9   0x044b
+0xda   0x0437
+0xdb   0x0448
+0xdc   0x044d
+0xdd   0x0449
+0xde   0x0447
+0xdf   0x044a
+0xe0   0x042e
+0xe1   0x0410
+0xe2   0x0411
+0xe3   0x0426
+0xe4   0x0414
+0xe5   0x0415
+0xe6   0x0424
+0xe7   0x0413
+0xe8   0x0425
+0xe9   0x0418
+0xea   0x0419
+0xeb   0x041a
+0xec   0x041b
+0xed   0x041c
+0xee   0x041d
+0xef   0x041e
+0xf0   0x041f
+0xf1   0x042f
+0xf2   0x0420
+0xf3   0x0421
+0xf4   0x0422
+0xf5   0x0423
+0xf6   0x0416
+0xf7   0x0412
+0xf8   0x042c
+0xf9   0x042b
+0xfa   0x0417
+0xfb   0x0428
+0xfc   0x042d
+0xfd   0x0429
+0xfe   0x0427
+0xff   0x042a

Index: maintain/lib/libintl-perl/tests/02georgian-academy.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02georgian-academy.t
diff -N maintain/lib/libintl-perl/tests/02georgian-academy.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02georgian-academy.t        12 Oct 2011 
23:51:59 -0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'GEORGIAN-ACADEMY',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'GEORGIAN-ACADEMY',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'GEORGIAN-ACADEMY');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'GEORGIAN-ACADEMY',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x201a
+0x83   0x0192
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x88   0x02c6
+0x89   0x2030
+0x8a   0x0160
+0x8b   0x2039
+0x8c   0x0152
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x98   0x02dc
+0x99   0x2122
+0x9a   0x0161
+0x9b   0x203a
+0x9c   0x0153
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x0178
+0xa0   0x00a0
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00bf
+0xc0   0x10d0
+0xc1   0x10d1
+0xc2   0x10d2
+0xc3   0x10d3
+0xc4   0x10d4
+0xc5   0x10d5
+0xc6   0x10d6
+0xc7   0x10d7
+0xc8   0x10d8
+0xc9   0x10d9
+0xca   0x10da
+0xcb   0x10db
+0xcc   0x10dc
+0xcd   0x10dd
+0xce   0x10de
+0xcf   0x10df
+0xd0   0x10e0
+0xd1   0x10e1
+0xd2   0x10e2
+0xd3   0x10e3
+0xd4   0x10e4
+0xd5   0x10e5
+0xd6   0x10e6
+0xd7   0x10e7
+0xd8   0x10e8
+0xd9   0x10e9
+0xda   0x10ea
+0xdb   0x10eb
+0xdc   0x10ec
+0xdd   0x10ed
+0xde   0x10ee
+0xdf   0x10ef
+0xe0   0x10f0
+0xe1   0x10f1
+0xe2   0x10f2
+0xe3   0x10f3
+0xe4   0x10f4
+0xe5   0x10f5
+0xe6   0x10f6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x00f0
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x00fe
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02georgian-ps.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02georgian-ps.t
diff -N maintain/lib/libintl-perl/tests/02georgian-ps.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02georgian-ps.t     12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'GEORGIAN-PS',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'GEORGIAN-PS',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'GEORGIAN-PS');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'GEORGIAN-PS',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x201a
+0x83   0x0192
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x88   0x02c6
+0x89   0x2030
+0x8a   0x0160
+0x8b   0x2039
+0x8c   0x0152
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x98   0x02dc
+0x99   0x2122
+0x9a   0x0161
+0x9b   0x203a
+0x9c   0x0153
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x0178
+0xa0   0x00a0
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00bf
+0xc0   0x10d0
+0xc1   0x10d1
+0xc2   0x10d2
+0xc3   0x10d3
+0xc4   0x10d4
+0xc5   0x10d5
+0xc6   0x10d6
+0xc7   0x10f1
+0xc8   0x10d7
+0xc9   0x10d8
+0xca   0x10d9
+0xcb   0x10da
+0xcc   0x10db
+0xcd   0x10dc
+0xce   0x10f2
+0xcf   0x10dd
+0xd0   0x10de
+0xd1   0x10df
+0xd2   0x10e0
+0xd3   0x10e1
+0xd4   0x10e2
+0xd5   0x10f3
+0xd6   0x10e3
+0xd7   0x10e4
+0xd8   0x10e5
+0xd9   0x10e6
+0xda   0x10e7
+0xdb   0x10e8
+0xdc   0x10e9
+0xdd   0x10ea
+0xde   0x10eb
+0xdf   0x10ec
+0xe0   0x10ed
+0xe1   0x10ee
+0xe2   0x10f4
+0xe3   0x10ef
+0xe4   0x10f0
+0xe5   0x10f5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x00f0
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x00fe
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02gost_19768-74.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02gost_19768-74.t
diff -N maintain/lib/libintl-perl/tests/02gost_19768-74.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02gost_19768-74.t   12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'GOST_19768-74',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'GOST_19768-74',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'GOST_19768-74');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'GOST_19768-74',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0401
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0xfffd
+0xad   0x00ad
+0xb0   0xfffd
+0xb0   0xfffd
+0xb0   0x0410
+0xb1   0x0411
+0xb2   0x0412
+0xb3   0x0413
+0xb4   0x0414
+0xb5   0x0415
+0xb6   0x0416
+0xb7   0x0417
+0xb8   0x0418
+0xb9   0x0419
+0xba   0x041a
+0xbb   0x041b
+0xbc   0x041c
+0xbd   0x041d
+0xbe   0x041e
+0xbf   0x041f
+0xc0   0x0420
+0xc1   0x0421
+0xc2   0x0422
+0xc3   0x0423
+0xc4   0x0424
+0xc5   0x0425
+0xc6   0x0426
+0xc7   0x0427
+0xc8   0x0428
+0xc9   0x0429
+0xca   0x042a
+0xcb   0x042b
+0xcc   0x042c
+0xcd   0x042d
+0xce   0x042e
+0xcf   0x042f
+0xd0   0x0430
+0xd1   0x0431
+0xd2   0x0432
+0xd3   0x0433
+0xd4   0x0434
+0xd5   0x0435
+0xd6   0x0436
+0xd7   0x0437
+0xd8   0x0438
+0xd9   0x0439
+0xda   0x043a
+0xdb   0x043b
+0xdc   0x043c
+0xdd   0x043d
+0xde   0x043e
+0xdf   0x043f
+0xe0   0x0440
+0xe1   0x0441
+0xe2   0x0442
+0xe3   0x0443
+0xe4   0x0444
+0xe5   0x0445
+0xe6   0x0446
+0xe7   0x0447
+0xe8   0x0448
+0xe9   0x0449
+0xea   0x044a
+0xeb   0x044b
+0xec   0x044c
+0xed   0x044d
+0xee   0x044e
+0xef   0x044f
+0xf1   0xfffd
+0xf1   0x0451
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02greek-ccitt.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02greek-ccitt.t
diff -N maintain/lib/libintl-perl/tests/02greek-ccitt.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02greek-ccitt.t     12 Oct 2011 23:51:59 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'GREEK-CCITT',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'GREEK-CCITT',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'GREEK-CCITT');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'GREEK-CCITT',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x00a4
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0391
+0x42   0x0392
+0x43   0x0393
+0x44   0x0394
+0x45   0x0395
+0x46   0x0396
+0x47   0x0397
+0x48   0x0398
+0x49   0x0399
+0x4a   0x039a
+0x4b   0x039b
+0x4c   0x039c
+0x4d   0x039d
+0x4e   0x039e
+0x4f   0x039f
+0x50   0x03a0
+0x51   0x03a1
+0x53   0xfffd
+0x53   0x03a3
+0x54   0x03a4
+0x55   0x03a5
+0x56   0x03a6
+0x57   0x03a7
+0x58   0x03a8
+0x59   0x03a9
+0x5b   0xfffd
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x61   0xfffd
+0x61   0x03b1
+0x62   0x03b2
+0x63   0x03b3
+0x64   0x03b4
+0x65   0x03b5
+0x66   0x03b6
+0x67   0x03b7
+0x68   0x03b8
+0x69   0x03b9
+0x6a   0x03ba
+0x6b   0x03bb
+0x6c   0x03bc
+0x6d   0x03bd
+0x6e   0x03be
+0x6f   0x03bf
+0x70   0x03c0
+0x71   0x03c1
+0x72   0x03c2
+0x73   0x03c3
+0x74   0x03c4
+0x75   0x03c5
+0x76   0x03c6
+0x77   0x03c7
+0x78   0x03c8
+0x79   0x03c9
+0x7b   0xfffd
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x00af
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02greek7-old.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02greek7-old.t
diff -N maintain/lib/libintl-perl/tests/02greek7-old.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02greek7-old.t      12 Oct 2011 23:52:00 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'GREEK7-OLD',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'GREEK7-OLD',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'GREEK7-OLD');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'GREEK7-OLD',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x00a3
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x00b4
+0x41   0x03b1
+0x42   0x03b2
+0x43   0x03c8
+0x44   0x03b4
+0x45   0x03b5
+0x46   0x03c6
+0x47   0x03b3
+0x48   0x03b7
+0x49   0x03b9
+0x4a   0x03be
+0x4b   0x03ba
+0x4c   0x03bb
+0x4d   0x03bc
+0x4e   0x03bd
+0x4f   0x03bf
+0x50   0x03c0
+0x51   0x037a
+0x52   0x03c1
+0x53   0x03c3
+0x54   0x03c4
+0x55   0x03b8
+0x56   0x03c9
+0x57   0x03c2
+0x58   0x03c7
+0x59   0x03c5
+0x5a   0x03b6
+0x5b   0x1fcf
+0x5c   0x1fbf
+0x5d   0x1fce
+0x5e   0x007e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0391
+0x62   0x0392
+0x63   0x03a8
+0x64   0x0394
+0x65   0x0395
+0x66   0x03a6
+0x67   0x0393
+0x68   0x0397
+0x69   0x0399
+0x6a   0x039e
+0x6b   0x039a
+0x6c   0x039b
+0x6d   0x039c
+0x6e   0x039d
+0x6f   0x039f
+0x70   0x03a0
+0x72   0xfffd
+0x72   0x03a1
+0x73   0x03a3
+0x74   0x03a4
+0x75   0x0398
+0x76   0x03a9
+0x77   0x00b7
+0x78   0x03a7
+0x79   0x03a5
+0x7a   0x0396
+0x7b   0x1fdf
+0x7c   0x1ffe
+0x7d   0x1fde
+0x7e   0x00a8
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02greek7.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02greek7.t
diff -N maintain/lib/libintl-perl/tests/02greek7.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02greek7.t  12 Oct 2011 23:52:00 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'GREEK7',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'GREEK7',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'GREEK7');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'GREEK7',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x00a4
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0391
+0x42   0x0392
+0x43   0x0393
+0x44   0x0394
+0x45   0x0395
+0x46   0x0396
+0x47   0x0397
+0x48   0x0398
+0x49   0x0399
+0x4b   0xfffd
+0x4b   0x039a
+0x4c   0x039b
+0x4d   0x039c
+0x4e   0x039d
+0x4f   0x039e
+0x50   0x039f
+0x51   0x03a0
+0x52   0x03a1
+0x53   0x03a3
+0x54   0x03a4
+0x55   0x03a5
+0x56   0x03a6
+0x58   0xfffd
+0x58   0x03a7
+0x59   0x03a8
+0x5a   0x03a9
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x03b1
+0x62   0x03b2
+0x63   0x03b3
+0x64   0x03b4
+0x65   0x03b5
+0x66   0x03b6
+0x67   0x03b7
+0x68   0x03b8
+0x69   0x03b9
+0x6b   0xfffd
+0x6b   0x03ba
+0x6c   0x03bb
+0x6d   0x03bc
+0x6e   0x03bd
+0x6f   0x03be
+0x70   0x03bf
+0x71   0x03c0
+0x72   0x03c1
+0x73   0x03c3
+0x74   0x03c4
+0x75   0x03c5
+0x76   0x03c6
+0x77   0x03c2
+0x78   0x03c7
+0x79   0x03c8
+0x7a   0x03c9
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x203e
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02hp-roman8.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02hp-roman8.t
diff -N maintain/lib/libintl-perl/tests/02hp-roman8.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02hp-roman8.t       12 Oct 2011 23:52:01 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'HP-ROMAN8',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'HP-ROMAN8',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'HP-ROMAN8');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'HP-ROMAN8',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x00c0
+0xa2   0x00c2
+0xa3   0x00c8
+0xa4   0x00ca
+0xa5   0x00cb
+0xa6   0x00ce
+0xa7   0x00cf
+0xa8   0x00b4
+0xa9   0x02cb
+0xaa   0x02c6
+0xab   0x00a8
+0xac   0x02dc
+0xad   0x00d9
+0xae   0x00db
+0xaf   0x20a4
+0xb0   0x00af
+0xb1   0x00dd
+0xb2   0x00fd
+0xb3   0x00b0
+0xb4   0x00c7
+0xb5   0x00e7
+0xb6   0x00d1
+0xb7   0x00f1
+0xb8   0x00a1
+0xb9   0x00bf
+0xba   0x00a4
+0xbb   0x00a3
+0xbc   0x00a5
+0xbd   0x00a7
+0xbe   0x0192
+0xbf   0x00a2
+0xc0   0x00e2
+0xc1   0x00ea
+0xc2   0x00f4
+0xc3   0x00fb
+0xc4   0x00e1
+0xc5   0x00e9
+0xc6   0x00f3
+0xc7   0x00fa
+0xc8   0x00e0
+0xc9   0x00e8
+0xca   0x00f2
+0xcb   0x00f9
+0xcc   0x00e4
+0xcd   0x00eb
+0xce   0x00f6
+0xcf   0x00fc
+0xd0   0x00c5
+0xd1   0x00ee
+0xd2   0x00d8
+0xd3   0x00c6
+0xd4   0x00e5
+0xd5   0x00ed
+0xd6   0x00f8
+0xd7   0x00e6
+0xd8   0x00c4
+0xd9   0x00ec
+0xda   0x00d6
+0xdb   0x00dc
+0xdc   0x00c9
+0xdd   0x00ef
+0xde   0x00df
+0xdf   0x00d4
+0xe0   0x00c1
+0xe1   0x00c3
+0xe2   0x00e3
+0xe3   0x00d0
+0xe4   0x00f0
+0xe5   0x00cd
+0xe6   0x00cc
+0xe7   0x00d3
+0xe8   0x00d2
+0xe9   0x00d5
+0xea   0x00f5
+0xeb   0x0160
+0xec   0x0161
+0xed   0x00da
+0xee   0x0178
+0xef   0x00ff
+0xf0   0x00de
+0xf1   0x00fe
+0xf2   0x00b7
+0xf3   0x00b5
+0xf4   0x00b6
+0xf5   0x00be
+0xf6   0x2014
+0xf7   0x00bc
+0xf8   0x00bd
+0xf9   0x00aa
+0xfa   0x00ba
+0xfb   0x00ab
+0xfc   0x25a0
+0xfd   0x00bb
+0xfe   0x00b1
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02ibm037.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm037.t
diff -N maintain/lib/libintl-perl/tests/02ibm037.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm037.t  12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM037',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM037',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM037');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM037',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x0021
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x005e
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x005b
+0xbb   0x005d
+0xbc   0x00af
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm038.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm038.t
diff -N maintain/lib/libintl-perl/tests/02ibm038.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm038.t  12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM038',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM038',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM038');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM038',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm1004.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm1004.t
diff -N maintain/lib/libintl-perl/tests/02ibm1004.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm1004.t 12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM1004',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM1004',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM1004');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM1004',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x82   0xfffd
+0x82   0xfffd
+0x82   0x201a
+0x84   0xfffd
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x88   0x02c6
+0x89   0x2030
+0x8a   0x0160
+0x8b   0x2039
+0x8c   0x0152
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x98   0x02dc
+0x99   0x2122
+0x9a   0x0161
+0x9b   0x203a
+0x9c   0x0153
+0x9f   0xfffd
+0x9f   0xfffd
+0x9f   0x0178
+0xa0   0x00a0
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00bf
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x00d0
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x00de
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x00f0
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x00fe
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02ibm1026.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm1026.t
diff -N maintain/lib/libintl-perl/tests/02ibm1026.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm1026.t 12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM1026',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM1026',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM1026');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM1026',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x007b
+0x49   0x00f1
+0x4a   0x00c7
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x011e
+0x5b   0x0130
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x005b
+0x69   0x00d1
+0x6a   0x015f
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0131
+0x7a   0x003a
+0x7b   0x00d6
+0x7c   0x015e
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x00dc
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x007d
+0x8d   0x0060
+0x8e   0x00a6
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x02db
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x00f6
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x005d
+0xad   0x0024
+0xae   0x0040
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x2014
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x00e7
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x007e
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x011f
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x005c
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x00fc
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x0023
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x0022
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm1047.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm1047.t
diff -N maintain/lib/libintl-perl/tests/02ibm1047.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm1047.t 12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM1047',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM1047',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM1047');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM1047',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x0021
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x005b
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00ac
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00dd
+0xbb   0x00a8
+0xbc   0x00af
+0xbd   0x005d
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm256.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm256.t
diff -N maintain/lib/libintl-perl/tests/02ibm256.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm256.t  12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM256',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM256',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM256');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM256',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x20a7
+0xb4   0x0192
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x203e
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x2017
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x2003
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm273.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm273.t
diff -N maintain/lib/libintl-perl/tests/02ibm273.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm273.t  12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM273',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM273',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM273');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM273',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x007b
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x00c4
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x007e
+0x5a   0x00dc
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x005b
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00f6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x00a7
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x00df
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x0040
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x203e
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x00e4
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00a6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x00fc
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x007d
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x00d6
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x005c
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x005d
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm274.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm274.t
diff -N maintain/lib/libintl-perl/tests/02ibm274.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm274.t  12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM274',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM274',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM274');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM274',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00f9
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x00e0
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00e9
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00e8
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x00e7
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm275.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm275.t
diff -N maintain/lib/libintl-perl/tests/02ibm275.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm275.t  12 Oct 2011 23:52:01 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM275',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM275',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM275');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM275',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00c9
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x0024
+0x5b   0x00c7
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00e7
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x00e3
+0x7a   0x003a
+0x7b   0x00d5
+0x7c   0x00c3
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x00f5
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x00e9
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm277.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm277.t
diff -N maintain/lib/libintl-perl/tests/02ibm277.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm277.t  12 Oct 2011 23:52:02 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM277',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM277',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM277');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM277',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x007d
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x0023
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x00a4
+0x5b   0x00c5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x0024
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00f8
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00a6
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00c6
+0x7c   0x00d8
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x0040
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x007b
+0x9d   0x00b8
+0x9e   0x005b
+0x9f   0x005d
+0xa0   0x00b5
+0xa1   0x00fc
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x203e
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x00e6
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x00e5
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x007e
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm278.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm278.t
diff -N maintain/lib/libintl-perl/tests/02ibm278.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm278.t  12 Oct 2011 23:52:02 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM278',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM278',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM278');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM278',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x007b
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x007d
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x00a7
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x0060
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x00a4
+0x5b   0x00c5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x0023
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x0024
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00f6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x00e9
+0x7a   0x003a
+0x7b   0x00c4
+0x7c   0x00d6
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x005d
+0xa0   0x00b5
+0xa1   0x00fc
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x005b
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x203e
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x00e4
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00a6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x00e5
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x007e
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x0040
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm280.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm280.t
diff -N maintain/lib/libintl-perl/tests/02ibm280.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm280.t  12 Oct 2011 23:52:02 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM280',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM280',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM280');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM280',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x007b
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x005c
+0x49   0x00f1
+0x4a   0x00b0
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x005d
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x007d
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x007e
+0x59   0x00df
+0x5a   0x00e9
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00f2
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x00f9
+0x7a   0x003a
+0x7b   0x00a3
+0x7c   0x00a7
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x005b
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x00ec
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x0023
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x0040
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x203e
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x00e0
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00a6
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x00e8
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x0060
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x00e7
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm281.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm281.t
diff -N maintain/lib/libintl-perl/tests/02ibm281.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm281.t  12 Oct 2011 23:52:02 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM281',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM281',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM281');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM281',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0xfffd
+0x4a   0x00a3
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0xfffd
+0x5a   0x0021
+0x5b   0x00a5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x203e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x0024
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm284.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm284.t
diff -N maintain/lib/libintl-perl/tests/02ibm284.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm284.t  12 Oct 2011 23:52:02 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM284',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM284',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM284');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM284',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00a6
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x0023
+0x6a   0x00f1
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00d1
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x005e
+0xbb   0x0021
+0xbc   0x203e
+0xbd   0x007e
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm285.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm285.t
diff -N maintain/lib/libintl-perl/tests/02ibm285.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm285.t  12 Oct 2011 23:52:02 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM285',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM285',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM285');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM285',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x0024
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x0021
+0x5b   0x00a3
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x203e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x005b
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x005e
+0xbb   0x005d
+0xbc   0x007e
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm290.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm290.t
diff -N maintain/lib/libintl-perl/tests/02ibm290.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm290.t  12 Oct 2011 23:52:02 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM290',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM290',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM290');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM290',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x3002
+0x42   0x300c
+0x43   0x300d
+0x44   0x3001
+0x45   0x30fb
+0x46   0x30f2
+0x47   0x30a1
+0x48   0x30a3
+0x49   0x30a5
+0x4a   0x00a3
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x51   0x30a7
+0x52   0x30a9
+0x53   0x30e3
+0x54   0x30e5
+0x55   0x30e7
+0x56   0x30c3
+0x58   0xfffd
+0x58   0x30fc
+0x5a   0xfffd
+0x5a   0x0021
+0x5b   0x00a5
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0xfffd
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0xfffd
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x30a2
+0x82   0x30a4
+0x83   0x30a6
+0x84   0x30a8
+0x85   0x30aa
+0x86   0x30ab
+0x87   0x30ad
+0x88   0x30af
+0x89   0x30b1
+0x8a   0x30b3
+0x8c   0xfffd
+0x8c   0x30b5
+0x8d   0x30b7
+0x8e   0x30b9
+0x8f   0x30bb
+0x90   0x30bd
+0x91   0x30bf
+0x92   0x30c1
+0x93   0x30c4
+0x94   0x30c6
+0x95   0x30c8
+0x96   0x30ca
+0x97   0x30cb
+0x98   0x30cc
+0x99   0x30cd
+0x9a   0x30ce
+0x9d   0xfffd
+0x9d   0xfffd
+0x9d   0x30cf
+0x9e   0x30d2
+0x9f   0x30d5
+0xa1   0xfffd
+0xa1   0x203e
+0xa2   0x30d8
+0xa3   0x30db
+0xa4   0x30de
+0xa5   0x30df
+0xa6   0x30e0
+0xa7   0x30e1
+0xa8   0x30e2
+0xa9   0x30e4
+0xaa   0x30e6
+0xac   0xfffd
+0xac   0x30e8
+0xad   0x30e9
+0xae   0x30ea
+0xaf   0x30eb
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0xfffd
+0xba   0x30ec
+0xbb   0x30ed
+0xbc   0x30ef
+0xbd   0x30f3
+0xbe   0x309b
+0xbf   0x309c
+0xc1   0xfffd
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0xfffd
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x0024
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm297.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm297.t
diff -N maintain/lib/libintl-perl/tests/02ibm297.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm297.t  12 Oct 2011 23:52:03 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM297',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM297',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM297');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM297',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x0040
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x005c
+0x49   0x00f1
+0x4a   0x00b0
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x007b
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x007d
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x00a7
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00f9
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x00b5
+0x7a   0x003a
+0x7b   0x00a3
+0x7c   0x00e0
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x005b
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x0060
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x0023
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x005d
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x203e
+0xbd   0x007e
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x00e9
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x00e8
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00a6
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x00e7
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm420.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm420.t
diff -N maintain/lib/libintl-perl/tests/02ibm420.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm420.t  12 Oct 2011 23:52:03 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM420',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM420',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM420');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\xd0"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM420',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x0651
+0x43   0xfe7d
+0x44   0x0640
+0x46   0xfffd
+0x46   0x0621
+0x47   0x0622
+0x48   0xfe82
+0x49   0x0623
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x51   0xfe84
+0x52   0x0624
+0x55   0xfffd
+0x55   0xfffd
+0x55   0x0626
+0x56   0x0627
+0x57   0xfe8e
+0x58   0x0628
+0x59   0xfe91
+0x5a   0x0021
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x62   0x0629
+0x63   0x062a
+0x64   0xfe97
+0x65   0x062b
+0x66   0xfe9b
+0x67   0x062c
+0x68   0xfe9f
+0x69   0x062d
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0xfea3
+0x71   0x062e
+0x72   0xfea7
+0x73   0x062f
+0x74   0x0630
+0x75   0x0631
+0x76   0x0632
+0x77   0x0633
+0x78   0xfeb3
+0x79   0x060c
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x0634
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0xfeb7
+0x8b   0x0635
+0x8c   0xfebb
+0x8d   0x0636
+0x8e   0xfebf
+0x8f   0x0637
+0x90   0x0638
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x0639
+0x9b   0xfeca
+0x9c   0xfecb
+0x9d   0xfecc
+0x9e   0x063a
+0x9f   0xfece
+0xa0   0xfecf
+0xa1   0x00f7
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0xfed0
+0xab   0x0641
+0xac   0xfed3
+0xad   0x0642
+0xae   0xfed7
+0xaf   0x0643
+0xb0   0xfedb
+0xb1   0x0644
+0xb2   0xfef5
+0xb3   0xfef6
+0xb4   0xfef7
+0xb5   0xfef8
+0xb8   0xfffd
+0xb8   0xfffd
+0xb8   0xfefb
+0xb9   0xfefc
+0xba   0xfedf
+0xbb   0x0645
+0xbc   0xfee3
+0xbd   0x0646
+0xbe   0xfee7
+0xbf   0x0647
+0xc0   0x061b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0xfeeb
+0xcd   0xfffd
+0xcd   0xfeec
+0xcf   0xfffd
+0xcf   0x0648
+0xd0   0x061f
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x0649
+0xdb   0xfef0
+0xdc   0x064a
+0xdd   0xfef2
+0xde   0xfef3
+0xdf   0x0660
+0xe0   0x00d7
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x0661
+0xeb   0x0662
+0xed   0xfffd
+0xed   0x0663
+0xee   0x0664
+0xef   0x0665
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfb   0xfffd
+0xfb   0x0666
+0xfc   0x0667
+0xfd   0x0668
+0xfe   0x0669
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm423.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm423.t
diff -N maintain/lib/libintl-perl/tests/02ibm423.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm423.t  12 Oct 2011 23:52:03 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM423',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM423',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM423');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM423',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x0391
+0x42   0x0392
+0x43   0x0393
+0x44   0x0394
+0x45   0x0395
+0x46   0x0396
+0x47   0x0397
+0x48   0x0398
+0x49   0x0399
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x039a
+0x52   0x039b
+0x53   0x039c
+0x54   0x039d
+0x55   0x039e
+0x56   0x039f
+0x57   0x03a0
+0x58   0x03a1
+0x59   0x03a3
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x03a4
+0x63   0x03a5
+0x64   0x03a6
+0x65   0x03a7
+0x66   0x03a8
+0x67   0x03a9
+0x6b   0xfffd
+0x6b   0xfffd
+0x6b   0xfffd
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x71   0xfffd
+0x71   0x0386
+0x72   0x0388
+0x73   0x0389
+0x75   0xfffd
+0x75   0x038a
+0x76   0x038c
+0x77   0x038e
+0x78   0x038f
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x00a3
+0x7c   0x00a7
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00c4
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x03b1
+0x8b   0x03b2
+0x8c   0x03b3
+0x8d   0x03b4
+0x8e   0x03b5
+0x8f   0x03b6
+0x90   0x00d6
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x03b7
+0x9b   0x03b8
+0x9c   0x03b9
+0x9d   0x03ba
+0x9e   0x03bb
+0x9f   0x03bc
+0xa0   0x00dc
+0xa1   0x00a8
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x03bd
+0xab   0x03be
+0xac   0x03bf
+0xad   0x03c0
+0xae   0x03c1
+0xaf   0x03c2
+0xb1   0xfffd
+0xb1   0x03ac
+0xb2   0x03ad
+0xb3   0x03ae
+0xb4   0x03ca
+0xb5   0x03af
+0xb6   0x03cc
+0xb7   0x03cd
+0xb8   0x03cb
+0xb9   0x03ce
+0xba   0x03c3
+0xbb   0x03c4
+0xbc   0x03c5
+0xbd   0x03c6
+0xbe   0x03c7
+0xbf   0x03c8
+0xc0   0x00b8
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xcb   0xfffd
+0xcb   0x03c9
+0xcc   0x00c2
+0xcd   0x00e0
+0xce   0x00e4
+0xcf   0x00ea
+0xd0   0x00b4
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b1
+0xdb   0x00e9
+0xdc   0x00e8
+0xdd   0x00eb
+0xde   0x00ee
+0xdf   0x00ef
+0xe0   0x00b0
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00bd
+0xeb   0x00f6
+0xec   0x00f4
+0xed   0x00fb
+0xee   0x00f9
+0xef   0x00fc
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00ff
+0xfb   0x00e7
+0xfc   0x00c7
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm424.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm424.t
diff -N maintain/lib/libintl-perl/tests/02ibm424.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm424.t  12 Oct 2011 23:52:03 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM424',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM424',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM424');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM424',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x05d0
+0x42   0x05d1
+0x43   0x05d2
+0x44   0x05d3
+0x45   0x05d4
+0x46   0x05d5
+0x47   0x05d6
+0x48   0x05d7
+0x49   0x05d8
+0x4a   0x00a2
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x007c
+0x50   0x0026
+0x51   0x05d9
+0x52   0x05da
+0x53   0x05db
+0x54   0x05dc
+0x55   0x05dd
+0x56   0x05de
+0x57   0x05df
+0x58   0x05e0
+0x59   0x05e1
+0x5a   0x0021
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00ac
+0x60   0x002d
+0x61   0x002f
+0x62   0x05e2
+0x63   0x05e3
+0x64   0x05e4
+0x65   0x05e5
+0x66   0x05e6
+0x67   0x05e7
+0x68   0x05e8
+0x69   0x05e9
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x71   0xfffd
+0x71   0x05ea
+0x74   0xfffd
+0x74   0xfffd
+0x74   0x00a0
+0x78   0xfffd
+0x78   0xfffd
+0x78   0xfffd
+0x78   0x21d4
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x81   0xfffd
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x90   0xfffd
+0x90   0xfffd
+0x90   0xfffd
+0x90   0xfffd
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9d   0xfffd
+0x9d   0xfffd
+0x9d   0xfffd
+0x9d   0x00b8
+0x9f   0xfffd
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaf   0xfffd
+0xaf   0xfffd
+0xaf   0xfffd
+0xaf   0xfffd
+0xaf   0xfffd
+0xaf   0x00ae
+0xb0   0x005e
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x005b
+0xbb   0x005d
+0xbc   0x203e
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0xfffd
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0xfffd
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm437.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm437.t
diff -N maintain/lib/libintl-perl/tests/02ibm437.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm437.t  12 Oct 2011 23:52:03 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM437',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM437',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM437');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM437',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x00ec
+0x8e   0x00c4
+0x8f   0x00c5
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x00f2
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x00ff
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00a2
+0x9c   0x00a3
+0x9d   0x00a5
+0x9e   0x20a7
+0x9f   0x0192
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x00ba
+0xa8   0x00bf
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x03b1
+0xe1   0x00df
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x0398
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x221e
+0xed   0x03c6
+0xee   0x03b5
+0xef   0x2229
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2219
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm500.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm500.t
diff -N maintain/lib/libintl-perl/tests/02ibm500.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm500.t  12 Oct 2011 23:52:03 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM500',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM500',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM500');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM500',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x00f0
+0x8d   0x00fd
+0x8e   0x00fe
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x00e6
+0x9d   0x00b8
+0x9e   0x00c6
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x00d0
+0xad   0x00dd
+0xae   0x00de
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x00af
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm850.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm850.t
diff -N maintain/lib/libintl-perl/tests/02ibm850.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm850.t  12 Oct 2011 23:52:03 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM850',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM850',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM850');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM850',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x00ec
+0x8e   0x00c4
+0x8f   0x00c5
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x00f2
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x00ff
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00f8
+0x9c   0x00a3
+0x9d   0x00d8
+0x9e   0x00d7
+0x9f   0x0192
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x00ba
+0xa8   0x00bf
+0xa9   0x00ae
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x00c1
+0xb6   0x00c2
+0xb7   0x00c0
+0xb8   0x00a9
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x00a2
+0xbe   0x00a5
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x00e3
+0xc7   0x00c3
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x00a4
+0xd0   0x00f0
+0xd1   0x00d0
+0xd2   0x00ca
+0xd3   0x00cb
+0xd4   0x00c8
+0xd5   0x0131
+0xd6   0x00cd
+0xd7   0x00ce
+0xd8   0x00cf
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x00a6
+0xde   0x00cc
+0xdf   0x2580
+0xe0   0x00d3
+0xe1   0x00df
+0xe2   0x00d4
+0xe3   0x00d2
+0xe4   0x00f5
+0xe5   0x00d5
+0xe6   0x00b5
+0xe7   0x00fe
+0xe8   0x00de
+0xe9   0x00da
+0xea   0x00db
+0xeb   0x00d9
+0xec   0x00fd
+0xed   0x00dd
+0xee   0x00af
+0xef   0x00b4
+0xf0   0x00ad
+0xf1   0x00b1
+0xf2   0x2017
+0xf3   0x00be
+0xf4   0x00b6
+0xf5   0x00a7
+0xf6   0x00f7
+0xf7   0x00b8
+0xf8   0x00b0
+0xf9   0x00a8
+0xfa   0x00b7
+0xfb   0x00b9
+0xfc   0x00b3
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm851.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm851.t
diff -N maintain/lib/libintl-perl/tests/02ibm851.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm851.t  12 Oct 2011 23:52:04 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM851',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM851',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM851');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM851',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x0386
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x0388
+0x8e   0x00c4
+0x8f   0x0389
+0x90   0x038a
+0x92   0xfffd
+0x92   0x038c
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x038e
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x038f
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x03ac
+0x9c   0x00a3
+0x9d   0x03ad
+0x9e   0x03ae
+0x9f   0x03af
+0xa0   0x03ca
+0xa1   0x0390
+0xa2   0x03cc
+0xa3   0x03cd
+0xa4   0x0391
+0xa5   0x0392
+0xa6   0x0393
+0xa7   0x0394
+0xa8   0x0395
+0xa9   0x0396
+0xaa   0x0397
+0xab   0x00bd
+0xac   0x0398
+0xad   0x0399
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x039a
+0xb6   0x039b
+0xb7   0x039d
+0xb8   0x039c
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x039e
+0xbe   0x039f
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x03a0
+0xc7   0x03a1
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x03a3
+0xd0   0x03a4
+0xd1   0x03a5
+0xd2   0x03a6
+0xd3   0x03a7
+0xd4   0x03a8
+0xd5   0x03a9
+0xd6   0x03b1
+0xd7   0x03b2
+0xd8   0x03b3
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x03b4
+0xde   0x03b5
+0xdf   0x2580
+0xe0   0x03b6
+0xe1   0x03b7
+0xe2   0x03b8
+0xe3   0x03b9
+0xe4   0x03ba
+0xe5   0x03bb
+0xe6   0x03bc
+0xe7   0x03bd
+0xe8   0x03be
+0xe9   0x03bf
+0xea   0x03c0
+0xeb   0x03c1
+0xec   0x03c3
+0xed   0x03c2
+0xee   0x03c4
+0xef   0x00b4
+0xf0   0x00ad
+0xf1   0x00b1
+0xf2   0x03c5
+0xf3   0x03c6
+0xf4   0x03c7
+0xf5   0x00a7
+0xf6   0x03c8
+0xf7   0x02db
+0xf8   0x00b0
+0xf9   0x00a8
+0xfa   0x03c9
+0xfb   0x03cb
+0xfc   0x03b0
+0xfd   0x03ce
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm852.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm852.t
diff -N maintain/lib/libintl-perl/tests/02ibm852.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm852.t  12 Oct 2011 23:52:04 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM852',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM852',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM852');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM852',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x016f
+0x86   0x0107
+0x87   0x00e7
+0x88   0x0142
+0x89   0x00eb
+0x8a   0x0150
+0x8b   0x0151
+0x8c   0x00ee
+0x8d   0x0179
+0x8e   0x00c4
+0x8f   0x0106
+0x90   0x00c9
+0x91   0x0139
+0x92   0x013a
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x013d
+0x96   0x013e
+0x97   0x015a
+0x98   0x015b
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x0164
+0x9c   0x0165
+0x9d   0x0141
+0x9e   0x00d7
+0x9f   0x010d
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x0104
+0xa5   0x0105
+0xa6   0x017d
+0xa7   0x017e
+0xa8   0x0118
+0xa9   0x0119
+0xaa   0x00ac
+0xab   0x017a
+0xac   0x010c
+0xad   0x015f
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x00c1
+0xb6   0x00c2
+0xb7   0x011a
+0xb8   0x015e
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x017b
+0xbe   0x017c
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x0102
+0xc7   0x0103
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x00a4
+0xd0   0x0111
+0xd1   0x0110
+0xd2   0x010e
+0xd3   0x00cb
+0xd4   0x010f
+0xd5   0x0147
+0xd6   0x00cd
+0xd7   0x00ce
+0xd8   0x011b
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x0162
+0xde   0x016e
+0xdf   0x2580
+0xe0   0x00d3
+0xe1   0x00df
+0xe2   0x00d4
+0xe3   0x0143
+0xe4   0x0144
+0xe5   0x0148
+0xe6   0x0160
+0xe7   0x0161
+0xe8   0x0154
+0xe9   0x00da
+0xea   0x0155
+0xeb   0x0170
+0xec   0x00fd
+0xed   0x00dd
+0xee   0x0163
+0xef   0x00b4
+0xf0   0x00ad
+0xf1   0x02dd
+0xf2   0x02db
+0xf3   0x02c7
+0xf4   0x02d8
+0xf5   0x00a7
+0xf6   0x00f7
+0xf7   0x00b8
+0xf8   0x00b0
+0xf9   0x00a8
+0xfa   0x02d9
+0xfb   0x0171
+0xfc   0x0158
+0xfd   0x0159
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm855.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm855.t
diff -N maintain/lib/libintl-perl/tests/02ibm855.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm855.t  12 Oct 2011 23:52:04 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM855',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM855',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM855');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM855',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0452
+0x81   0x0402
+0x82   0x0453
+0x83   0x0403
+0x84   0x0451
+0x85   0x0401
+0x86   0x0454
+0x87   0x0404
+0x88   0x0455
+0x89   0x0405
+0x8a   0x0456
+0x8b   0x0406
+0x8c   0x0457
+0x8d   0x0407
+0x8e   0x0458
+0x8f   0x0408
+0x90   0x0459
+0x91   0x0409
+0x92   0x045a
+0x93   0x040a
+0x94   0x045b
+0x95   0x040b
+0x96   0x045c
+0x97   0x040c
+0x98   0x045e
+0x99   0x040e
+0x9a   0x045f
+0x9b   0x040f
+0x9c   0x044e
+0x9d   0x042e
+0x9e   0x044a
+0x9f   0x042a
+0xa0   0x0430
+0xa1   0x0410
+0xa2   0x0431
+0xa3   0x0411
+0xa4   0x0446
+0xa5   0x0426
+0xa6   0x0434
+0xa7   0x0414
+0xa8   0x0435
+0xa9   0x0415
+0xaa   0x0444
+0xab   0x0424
+0xac   0x0433
+0xad   0x0413
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x0445
+0xb6   0x0425
+0xb7   0x0438
+0xb8   0x0418
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x0439
+0xbe   0x0419
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x043a
+0xc7   0x041a
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x00a4
+0xd0   0x043b
+0xd1   0x041b
+0xd2   0x043c
+0xd3   0x041c
+0xd4   0x043d
+0xd5   0x041d
+0xd6   0x043e
+0xd7   0x041e
+0xd8   0x043f
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x041f
+0xde   0x044f
+0xdf   0x2580
+0xe0   0x042f
+0xe1   0x0440
+0xe2   0x0420
+0xe3   0x0441
+0xe4   0x0421
+0xe5   0x0442
+0xe6   0x0422
+0xe7   0x0443
+0xe8   0x0423
+0xe9   0x0436
+0xea   0x0416
+0xeb   0x0432
+0xec   0x0412
+0xed   0x044c
+0xee   0x042c
+0xef   0x2116
+0xf0   0x00ad
+0xf1   0x044b
+0xf2   0x042b
+0xf3   0x0437
+0xf4   0x0417
+0xf5   0x0448
+0xf6   0x0428
+0xf7   0x044d
+0xf8   0x042d
+0xf9   0x0449
+0xfa   0x0429
+0xfb   0x0447
+0xfc   0x0427
+0xfd   0x00a7
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm857.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm857.t
diff -N maintain/lib/libintl-perl/tests/02ibm857.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm857.t  12 Oct 2011 23:52:04 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM857',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM857',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM857');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM857',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x0131
+0x8e   0x00c4
+0x8f   0x00c5
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x00f2
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x0130
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00f8
+0x9c   0x00a3
+0x9d   0x00d8
+0x9e   0x015e
+0x9f   0x015f
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x011e
+0xa7   0x011f
+0xa8   0x00bf
+0xa9   0x00ae
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x00c1
+0xb6   0x00c2
+0xb7   0x00c0
+0xb8   0x00a9
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x00a2
+0xbe   0x00a5
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x00e3
+0xc7   0x00c3
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x00a4
+0xd0   0x00ba
+0xd1   0x00aa
+0xd2   0x00ca
+0xd3   0x00cb
+0xd4   0x00c8
+0xd6   0xfffd
+0xd6   0x00cd
+0xd7   0x00ce
+0xd8   0x00cf
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x00a6
+0xde   0x00cc
+0xdf   0x2580
+0xe0   0x00d3
+0xe1   0x00df
+0xe2   0x00d4
+0xe3   0x00d2
+0xe4   0x00f5
+0xe5   0x00d5
+0xe6   0x00b5
+0xe8   0xfffd
+0xe8   0x00d7
+0xe9   0x00da
+0xea   0x00db
+0xeb   0x00d9
+0xec   0x00ec
+0xed   0x00ff
+0xee   0x00af
+0xef   0x00b4
+0xf0   0x00ad
+0xf1   0x00b1
+0xf3   0xfffd
+0xf3   0x00be
+0xf4   0x00b6
+0xf5   0x00a7
+0xf6   0x00f7
+0xf7   0x00b8
+0xf8   0x00b0
+0xf9   0x00a8
+0xfa   0x00b7
+0xfb   0x00b9
+0xfc   0x00b3
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm860.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm860.t
diff -N maintain/lib/libintl-perl/tests/02ibm860.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm860.t  12 Oct 2011 23:52:04 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM860',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM860',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM860');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM860',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e3
+0x85   0x00e0
+0x86   0x00c1
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00ca
+0x8a   0x00e8
+0x8b   0x00cd
+0x8c   0x00d4
+0x8d   0x00ec
+0x8e   0x00c3
+0x8f   0x00c2
+0x90   0x00c9
+0x91   0x00c0
+0x92   0x00c8
+0x93   0x00f4
+0x94   0x00f5
+0x95   0x00f2
+0x96   0x00da
+0x97   0x00f9
+0x98   0x00cc
+0x99   0x00d5
+0x9a   0x00dc
+0x9b   0x00a2
+0x9c   0x00a3
+0x9d   0x00d9
+0x9e   0x20a7
+0x9f   0x00d3
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x00ba
+0xa8   0x00bf
+0xa9   0x00d2
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x03b1
+0xe1   0x00df
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x0398
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x221e
+0xed   0x03c6
+0xee   0x03b5
+0xef   0x2229
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2219
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm861.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm861.t
diff -N maintain/lib/libintl-perl/tests/02ibm861.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm861.t  12 Oct 2011 23:52:04 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM861',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM861',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM861');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM861',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00d0
+0x8c   0x00f0
+0x8d   0x00de
+0x8e   0x00c4
+0x8f   0x00c5
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x00fe
+0x96   0x00fb
+0x97   0x00dd
+0x98   0x00fd
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00f8
+0x9c   0x00a3
+0x9d   0x00d8
+0x9e   0x20a7
+0x9f   0x0192
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00c1
+0xa5   0x00cd
+0xa6   0x00d3
+0xa7   0x00da
+0xa8   0x00bf
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x03b1
+0xe1   0x00df
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x0398
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x221e
+0xed   0x03c6
+0xee   0x03b5
+0xef   0x2229
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2219
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm862.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm862.t
diff -N maintain/lib/libintl-perl/tests/02ibm862.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm862.t  12 Oct 2011 23:52:04 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM862',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM862',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM862');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM862',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x05d0
+0x81   0x05d1
+0x82   0x05d2
+0x83   0x05d3
+0x84   0x05d4
+0x85   0x05d5
+0x86   0x05d6
+0x87   0x05d7
+0x88   0x05d8
+0x89   0x05d9
+0x8a   0x05da
+0x8b   0x05db
+0x8c   0x05dc
+0x8d   0x05dd
+0x8e   0x05de
+0x8f   0x05df
+0x90   0x05e0
+0x91   0x05e1
+0x92   0x05e2
+0x93   0x05e3
+0x94   0x05e4
+0x95   0x05e5
+0x96   0x05e6
+0x97   0x05e7
+0x98   0x05e8
+0x99   0x05e9
+0x9a   0x05ea
+0x9b   0x00a2
+0x9c   0x00a3
+0x9d   0x00a5
+0x9e   0x20a7
+0x9f   0x0192
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x00ba
+0xa8   0x00bf
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x03b1
+0xe1   0x00df
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x0398
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x221e
+0xed   0x03c6
+0xee   0x03b5
+0xef   0x2229
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2219
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm863.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm863.t
diff -N maintain/lib/libintl-perl/tests/02ibm863.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm863.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM863',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM863',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM863');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM863',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00c2
+0x85   0x00e0
+0x86   0x00b6
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x2017
+0x8e   0x00c0
+0x8f   0x00a7
+0x90   0x00c9
+0x91   0x00c8
+0x92   0x00ca
+0x93   0x00f4
+0x94   0x00cb
+0x95   0x00cf
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x00a4
+0x99   0x00d4
+0x9a   0x00dc
+0x9b   0x00a2
+0x9c   0x00a3
+0x9d   0x00d9
+0x9e   0x00db
+0x9f   0x0192
+0xa0   0x00a6
+0xa1   0x00b4
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00a8
+0xa5   0x00b8
+0xa6   0x00b3
+0xa7   0x00af
+0xa8   0x00ce
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00be
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x03b1
+0xe1   0x00df
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x0398
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x221e
+0xed   0x03c6
+0xee   0x03b5
+0xef   0x2229
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2219
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm864.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm864.t
diff -N maintain/lib/libintl-perl/tests/02ibm864.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm864.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM864',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM864',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM864');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM864',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x066a
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00b0
+0x81   0x00b7
+0x82   0x2219
+0x83   0x221a
+0x84   0x2592
+0x85   0x2500
+0x86   0x2502
+0x87   0x253c
+0x88   0x2524
+0x89   0x252c
+0x8a   0x251c
+0x8b   0x2534
+0x8c   0x2510
+0x8d   0x250c
+0x8e   0x2514
+0x8f   0x2518
+0x90   0x03b2
+0x91   0x221e
+0x92   0x03c6
+0x93   0x00b1
+0x94   0x00bd
+0x95   0x00bc
+0x96   0x2248
+0x97   0x00ab
+0x98   0x00bb
+0x99   0xfef7
+0x9a   0xfef8
+0x9d   0xfffd
+0x9d   0xfffd
+0x9d   0xfefb
+0x9e   0xfefc
+0xa0   0xfffd
+0xa0   0x00a0
+0xa1   0x00ad
+0xa2   0xfe82
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0xfe84
+0xa8   0xfffd
+0xa8   0xfffd
+0xa8   0xfe8e
+0xa9   0xfe8f
+0xaa   0xfe95
+0xab   0xfe99
+0xac   0x060c
+0xad   0xfe9d
+0xae   0xfea1
+0xaf   0xfea5
+0xb0   0x0660
+0xb1   0x0661
+0xb2   0x0662
+0xb3   0x0663
+0xb4   0x0664
+0xb5   0x0665
+0xb6   0x0666
+0xb7   0x0667
+0xb8   0x0668
+0xb9   0x0669
+0xba   0xfed1
+0xbb   0x061b
+0xbc   0xfeb1
+0xbd   0xfeb5
+0xbe   0xfeb9
+0xbf   0x061f
+0xc0   0x00a2
+0xc1   0xfe80
+0xc2   0xfe81
+0xc3   0xfe83
+0xc4   0xfe85
+0xc5   0xfeca
+0xc6   0xfe8b
+0xc7   0xfe8d
+0xc8   0xfe91
+0xc9   0xfe93
+0xca   0xfe97
+0xcb   0xfe9b
+0xcc   0xfe9f
+0xcd   0xfea3
+0xce   0xfea7
+0xcf   0xfea9
+0xd0   0xfeab
+0xd1   0xfead
+0xd2   0xfeaf
+0xd3   0xfeb3
+0xd4   0xfeb7
+0xd5   0xfebb
+0xd6   0xfebf
+0xd7   0xfec1
+0xd8   0xfec5
+0xd9   0xfecb
+0xda   0xfecf
+0xdb   0x00a6
+0xdc   0x00ac
+0xdd   0x00f7
+0xde   0x00d7
+0xdf   0xfec9
+0xe0   0x0640
+0xe1   0xfed3
+0xe2   0xfed7
+0xe3   0xfedb
+0xe4   0xfedf
+0xe5   0xfee3
+0xe6   0xfee7
+0xe7   0xfeeb
+0xe8   0xfeed
+0xe9   0xfeef
+0xea   0xfef3
+0xeb   0xfebd
+0xec   0xfecc
+0xed   0xfece
+0xee   0xfecd
+0xef   0xfee1
+0xf0   0xfe7d
+0xf1   0x0651
+0xf2   0xfee5
+0xf3   0xfee9
+0xf4   0xfeec
+0xf5   0xfef0
+0xf6   0xfef2
+0xf7   0xfed0
+0xf8   0xfed5
+0xf9   0xfef5
+0xfa   0xfef6
+0xfb   0xfedd
+0xfc   0xfed9
+0xfd   0xfef1
+0xfe   0x25a0
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02ibm865.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm865.t
diff -N maintain/lib/libintl-perl/tests/02ibm865.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm865.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM865',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM865',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM865');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM865',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c7
+0x81   0x00fc
+0x82   0x00e9
+0x83   0x00e2
+0x84   0x00e4
+0x85   0x00e0
+0x86   0x00e5
+0x87   0x00e7
+0x88   0x00ea
+0x89   0x00eb
+0x8a   0x00e8
+0x8b   0x00ef
+0x8c   0x00ee
+0x8d   0x00ec
+0x8e   0x00c4
+0x8f   0x00c5
+0x90   0x00c9
+0x91   0x00e6
+0x92   0x00c6
+0x93   0x00f4
+0x94   0x00f6
+0x95   0x00f2
+0x96   0x00fb
+0x97   0x00f9
+0x98   0x00ff
+0x99   0x00d6
+0x9a   0x00dc
+0x9b   0x00f8
+0x9c   0x00a3
+0x9d   0x00d8
+0x9e   0x20a7
+0x9f   0x0192
+0xa0   0x00e1
+0xa1   0x00ed
+0xa2   0x00f3
+0xa3   0x00fa
+0xa4   0x00f1
+0xa5   0x00d1
+0xa6   0x00aa
+0xa7   0x00ba
+0xa8   0x00bf
+0xa9   0x2310
+0xaa   0x00ac
+0xab   0x00bd
+0xac   0x00bc
+0xad   0x00a1
+0xae   0x00ab
+0xaf   0x00a4
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x03b1
+0xe1   0x00df
+0xe2   0x0393
+0xe3   0x03c0
+0xe4   0x03a3
+0xe5   0x03c3
+0xe6   0x00b5
+0xe7   0x03c4
+0xe8   0x03a6
+0xe9   0x0398
+0xea   0x03a9
+0xeb   0x03b4
+0xec   0x221e
+0xed   0x03c6
+0xee   0x03b5
+0xef   0x2229
+0xf0   0x2261
+0xf1   0x00b1
+0xf2   0x2265
+0xf3   0x2264
+0xf4   0x2320
+0xf5   0x2321
+0xf6   0x00f7
+0xf7   0x2248
+0xf8   0x00b0
+0xf9   0x2219
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x207f
+0xfd   0x00b2
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm866.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm866.t
diff -N maintain/lib/libintl-perl/tests/02ibm866.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm866.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM866',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM866',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM866');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM866',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0410
+0x81   0x0411
+0x82   0x0412
+0x83   0x0413
+0x84   0x0414
+0x85   0x0415
+0x86   0x0416
+0x87   0x0417
+0x88   0x0418
+0x89   0x0419
+0x8a   0x041a
+0x8b   0x041b
+0x8c   0x041c
+0x8d   0x041d
+0x8e   0x041e
+0x8f   0x041f
+0x90   0x0420
+0x91   0x0421
+0x92   0x0422
+0x93   0x0423
+0x94   0x0424
+0x95   0x0425
+0x96   0x0426
+0x97   0x0427
+0x98   0x0428
+0x99   0x0429
+0x9a   0x042a
+0x9b   0x042b
+0x9c   0x042c
+0x9d   0x042d
+0x9e   0x042e
+0x9f   0x042f
+0xa0   0x0430
+0xa1   0x0431
+0xa2   0x0432
+0xa3   0x0433
+0xa4   0x0434
+0xa5   0x0435
+0xa6   0x0436
+0xa7   0x0437
+0xa8   0x0438
+0xa9   0x0439
+0xaa   0x043a
+0xab   0x043b
+0xac   0x043c
+0xad   0x043d
+0xae   0x043e
+0xaf   0x043f
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x2561
+0xb6   0x2562
+0xb7   0x2556
+0xb8   0x2555
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x255c
+0xbe   0x255b
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x255e
+0xc7   0x255f
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x2567
+0xd0   0x2568
+0xd1   0x2564
+0xd2   0x2565
+0xd3   0x2559
+0xd4   0x2558
+0xd5   0x2552
+0xd6   0x2553
+0xd7   0x256b
+0xd8   0x256a
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x258c
+0xde   0x2590
+0xdf   0x2580
+0xe0   0x0440
+0xe1   0x0441
+0xe2   0x0442
+0xe3   0x0443
+0xe4   0x0444
+0xe5   0x0445
+0xe6   0x0446
+0xe7   0x0447
+0xe8   0x0448
+0xe9   0x0449
+0xea   0x044a
+0xeb   0x044b
+0xec   0x044c
+0xed   0x044d
+0xee   0x044e
+0xef   0x044f
+0xf0   0x0401
+0xf1   0x0451
+0xf2   0x0404
+0xf3   0x0454
+0xf4   0x0407
+0xf5   0x0457
+0xf6   0x040e
+0xf7   0x045e
+0xf8   0x00b0
+0xf9   0x2219
+0xfa   0x00b7
+0xfb   0x221a
+0xfc   0x2116
+0xfd   0x00a4
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm868.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm868.t
diff -N maintain/lib/libintl-perl/tests/02ibm868.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm868.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM868',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM868',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM868');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x8c"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM868',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0660
+0x81   0x0661
+0x82   0x0662
+0x83   0x0663
+0x84   0x0664
+0x85   0x0665
+0x86   0x0666
+0x87   0x0667
+0x88   0x0668
+0x89   0x0669
+0x8a   0x060c
+0x8b   0x061b
+0x8c   0x061f
+0x8d   0x0622
+0x8e   0x0627
+0x8f   0xfe8e
+0x90   0xe016
+0x91   0x0628
+0x92   0xfe91
+0x93   0x067e
+0x95   0xfffd
+0x95   0x0629
+0x96   0x062a
+0x97   0xfe97
+0x9a   0xfffd
+0x9a   0xfffd
+0x9a   0x062b
+0x9b   0xfe9b
+0x9c   0x062c
+0x9d   0xfe9f
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0x062d
+0xa1   0xfea3
+0xa2   0x062e
+0xa3   0xfea7
+0xa4   0x062f
+0xa6   0xfffd
+0xa6   0x0630
+0xa7   0x0631
+0xa9   0xfffd
+0xa9   0x0632
+0xab   0xfffd
+0xab   0x0633
+0xac   0xfeb3
+0xad   0x0634
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0xfeb7
+0xb1   0x0635
+0xb2   0x2591
+0xb3   0x2592
+0xb4   0x2593
+0xb5   0x2502
+0xb6   0x2524
+0xb7   0xfebb
+0xb8   0x0636
+0xb9   0xfebf
+0xba   0x0637
+0xbb   0x2563
+0xbc   0x2551
+0xbd   0x2557
+0xbe   0x255d
+0xbf   0x0638
+0xc0   0x0639
+0xc1   0x2510
+0xc2   0x2514
+0xc3   0x2534
+0xc4   0x252c
+0xc5   0x251c
+0xc6   0x2500
+0xc7   0x253c
+0xc8   0xfeca
+0xc9   0xfecb
+0xca   0x255a
+0xcb   0x2554
+0xcc   0x2569
+0xcd   0x2566
+0xce   0x2560
+0xcf   0x2550
+0xd0   0x256c
+0xd1   0xfecc
+0xd2   0x063a
+0xd3   0xfece
+0xd4   0xfecf
+0xd5   0xfed0
+0xd6   0x0641
+0xd7   0xfed3
+0xd8   0x0642
+0xd9   0xfed7
+0xda   0xfeda
+0xdb   0x2518
+0xdc   0x250c
+0xdd   0x2588
+0xde   0x2580
+0xdf   0xfedb
+0xe1   0xfffd
+0xe1   0x2584
+0xe3   0xfffd
+0xe3   0x0644
+0xe4   0xfede
+0xe5   0xfee0
+0xe6   0x0645
+0xe7   0xfee3
+0xe9   0xfffd
+0xe9   0x0646
+0xea   0xfee7
+0xec   0xfffd
+0xec   0x0648
+0xf1   0xfffd
+0xf1   0xfffd
+0xf1   0xfffd
+0xf1   0xfffd
+0xf1   0x0621
+0xf2   0x00ad
+0xfb   0xfffd
+0xfb   0xfffd
+0xfb   0xfffd
+0xfb   0xfffd
+0xfb   0xfffd
+0xfb   0xfffd
+0xfb   0xfffd
+0xfb   0xfffd
+0xfb   0x0651
+0xfc   0xfe7d
+0xfe   0xfffd
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm869.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm869.t
diff -N maintain/lib/libintl-perl/tests/02ibm869.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm869.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM869',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM869',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM869');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM869',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x86   0xfffd
+0x86   0xfffd
+0x86   0xfffd
+0x86   0xfffd
+0x86   0xfffd
+0x86   0xfffd
+0x86   0x0386
+0x88   0xfffd
+0x88   0x00b7
+0x89   0x00ac
+0x8a   0x00a6
+0x8b   0x2018
+0x8c   0x2019
+0x8d   0x0388
+0x8e   0x2015
+0x8f   0x0389
+0x90   0x038a
+0x91   0x03aa
+0x92   0x038c
+0x95   0xfffd
+0x95   0xfffd
+0x95   0x038e
+0x96   0x03ab
+0x97   0x00a9
+0x98   0x038f
+0x99   0x00b2
+0x9a   0x00b3
+0x9b   0x03ac
+0x9c   0x00a3
+0x9d   0x03ad
+0x9e   0x03ae
+0x9f   0x03af
+0xa0   0x03ca
+0xa1   0x0390
+0xa2   0x03cc
+0xa3   0x03cd
+0xa4   0x0391
+0xa5   0x0392
+0xa6   0x0393
+0xa7   0x0394
+0xa8   0x0395
+0xa9   0x0396
+0xaa   0x0397
+0xab   0x00bd
+0xac   0x0398
+0xad   0x0399
+0xae   0x00ab
+0xaf   0x00bb
+0xb0   0x2591
+0xb1   0x2592
+0xb2   0x2593
+0xb3   0x2502
+0xb4   0x2524
+0xb5   0x039a
+0xb6   0x039b
+0xb7   0x039c
+0xb8   0x039d
+0xb9   0x2563
+0xba   0x2551
+0xbb   0x2557
+0xbc   0x255d
+0xbd   0x039e
+0xbe   0x039f
+0xbf   0x2510
+0xc0   0x2514
+0xc1   0x2534
+0xc2   0x252c
+0xc3   0x251c
+0xc4   0x2500
+0xc5   0x253c
+0xc6   0x03a0
+0xc7   0x03a1
+0xc8   0x255a
+0xc9   0x2554
+0xca   0x2569
+0xcb   0x2566
+0xcc   0x2560
+0xcd   0x2550
+0xce   0x256c
+0xcf   0x03a3
+0xd0   0x03a4
+0xd1   0x03a5
+0xd2   0x03a6
+0xd3   0x03a7
+0xd4   0x03a8
+0xd5   0x03a9
+0xd6   0x03b1
+0xd7   0x03b2
+0xd8   0x03b3
+0xd9   0x2518
+0xda   0x250c
+0xdb   0x2588
+0xdc   0x2584
+0xdd   0x03b4
+0xde   0x03b5
+0xdf   0x2580
+0xe0   0x03b6
+0xe1   0x03b7
+0xe2   0x03b8
+0xe3   0x03b9
+0xe4   0x03ba
+0xe5   0x03bb
+0xe6   0x03bc
+0xe7   0x03bd
+0xe8   0x03be
+0xe9   0x03bf
+0xea   0x03c0
+0xeb   0x03c1
+0xec   0x03c3
+0xed   0x03c2
+0xee   0x03c4
+0xef   0x0384
+0xf0   0x00ad
+0xf1   0x00b1
+0xf2   0x03c5
+0xf3   0x03c6
+0xf4   0x03c7
+0xf5   0x00a7
+0xf6   0x03c8
+0xf7   0x0385
+0xf8   0x00b0
+0xf9   0x00a8
+0xfa   0x03c9
+0xfb   0x03cb
+0xfc   0x03b0
+0xfd   0x03ce
+0xfe   0x25a0
+0xff   0x00a0

Index: maintain/lib/libintl-perl/tests/02ibm870.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm870.t
diff -N maintain/lib/libintl-perl/tests/02ibm870.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm870.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM870',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM870',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM870');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM870',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x43   0xfffd
+0x43   0x00e4
+0x45   0xfffd
+0x45   0x00e1
+0x46   0x0103
+0x47   0x010d
+0x48   0x00e7
+0x49   0x0107
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x53   0xfffd
+0x53   0x00eb
+0x54   0x016f
+0x55   0x00ed
+0x57   0xfffd
+0x57   0x013e
+0x58   0x013a
+0x59   0x00df
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x63   0xfffd
+0x63   0x00c4
+0x64   0x02dd
+0x65   0x00c1
+0x67   0xfffd
+0x67   0x010c
+0x68   0x00c7
+0x69   0x0106
+0x6a   0x007c
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x02c7
+0x71   0x00c9
+0x73   0xfffd
+0x73   0x00cb
+0x74   0x016e
+0x75   0x00cd
+0x77   0xfffd
+0x77   0x013d
+0x78   0x0139
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x02d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x015b
+0x8b   0x0148
+0x8c   0x0111
+0x8d   0x00fd
+0x8e   0x0159
+0x90   0xfffd
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x0142
+0x9b   0x0144
+0x9c   0x0161
+0x9d   0x00b8
+0x9e   0x02db
+0x9f   0x00a4
+0xa0   0x0105
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x015a
+0xab   0x0147
+0xac   0x0110
+0xad   0x00dd
+0xae   0x0158
+0xb0   0xfffd
+0xb0   0x00b7
+0xb1   0x0104
+0xb2   0x017c
+0xb4   0xfffd
+0xb4   0x017b
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x017e
+0xb8   0x017a
+0xb9   0x017d
+0xba   0x0179
+0xbb   0x0143
+0xbc   0x0160
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x00f6
+0xcd   0x0155
+0xce   0x00f3
+0xcf   0x0151
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x011a
+0xdb   0x0171
+0xdc   0x00fc
+0xdd   0x0165
+0xde   0x00fa
+0xdf   0x011b
+0xe0   0x005c
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x010f
+0xeb   0x00d4
+0xec   0x00d6
+0xed   0x0154
+0xee   0x00d3
+0xef   0x0150
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x010e
+0xfb   0x0170
+0xfc   0x00dc
+0xfd   0x0164
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm871.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm871.t
diff -N maintain/lib/libintl-perl/tests/02ibm871.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm871.t  12 Oct 2011 23:52:05 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM871',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM871',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM871');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM871',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x46   0x00e3
+0x47   0x00e5
+0x48   0x00e7
+0x49   0x00f1
+0x4a   0x00fe
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x00c6
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x00d6
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x66   0x00c3
+0x67   0x00c5
+0x68   0x00c7
+0x69   0x00d1
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00f8
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x00f0
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x00d0
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x00d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x00ab
+0x8b   0x00bb
+0x8c   0x0060
+0x8d   0x00fd
+0x8e   0x007b
+0x8f   0x00b1
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x00aa
+0x9b   0x00ba
+0x9c   0x007d
+0x9d   0x00b8
+0x9e   0x005d
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x00f6
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x00a1
+0xab   0x00bf
+0xac   0x0040
+0xad   0x00dd
+0xae   0x005b
+0xaf   0x00ae
+0xb0   0x00a2
+0xb1   0x00a3
+0xb2   0x00a5
+0xb3   0x00b7
+0xb4   0x00a9
+0xb5   0x00a7
+0xb6   0x00b6
+0xb7   0x00bc
+0xb8   0x00bd
+0xb9   0x00be
+0xba   0x00ac
+0xbb   0x007c
+0xbc   0x00af
+0xbd   0x00a8
+0xbe   0x005c
+0xbf   0x00d7
+0xc0   0x00de
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x007e
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x00f5
+0xd0   0x00e6
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b9
+0xdb   0x00fb
+0xdc   0x00fc
+0xdd   0x00f9
+0xde   0x00fa
+0xdf   0x00ff
+0xe0   0x00b4
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x005e
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x00d5
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x00dc
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm874.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm874.t
diff -N maintain/lib/libintl-perl/tests/02ibm874.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm874.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM874',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM874',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM874');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM874',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x85   0xfffd
+0x85   0xfffd
+0x85   0xfffd
+0x85   0xfffd
+0x85   0x2026
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0xfffd
+0xa0   0x00a0
+0xa1   0x0e01
+0xa2   0x0e02
+0xa3   0x0e03
+0xa4   0x0e04
+0xa5   0x0e05
+0xa6   0x0e06
+0xa7   0x0e07
+0xa8   0x0e08
+0xa9   0x0e09
+0xaa   0x0e0a
+0xab   0x0e0b
+0xac   0x0e0c
+0xad   0x0e0d
+0xae   0x0e0e
+0xaf   0x0e0f
+0xb0   0x0e10
+0xb1   0x0e11
+0xb2   0x0e12
+0xb3   0x0e13
+0xb4   0x0e14
+0xb5   0x0e15
+0xb6   0x0e16
+0xb7   0x0e17
+0xb8   0x0e18
+0xb9   0x0e19
+0xba   0x0e1a
+0xbb   0x0e1b
+0xbc   0x0e1c
+0xbd   0x0e1d
+0xbe   0x0e1e
+0xbf   0x0e1f
+0xc0   0x0e20
+0xc1   0x0e21
+0xc2   0x0e22
+0xc3   0x0e23
+0xc4   0x0e24
+0xc5   0x0e25
+0xc6   0x0e26
+0xc7   0x0e27
+0xc8   0x0e28
+0xc9   0x0e29
+0xca   0x0e2a
+0xcb   0x0e2b
+0xcc   0x0e2c
+0xcd   0x0e2d
+0xce   0x0e2e
+0xcf   0x0e2f
+0xd0   0x0e30
+0xd1   0x0e31
+0xd2   0x0e32
+0xd3   0x0e33
+0xd4   0x0e34
+0xd5   0x0e35
+0xd6   0x0e36
+0xd7   0x0e37
+0xd8   0x0e38
+0xd9   0x0e39
+0xda   0x0e3a
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0x0e3f
+0xe0   0x0e40
+0xe1   0x0e41
+0xe2   0x0e42
+0xe3   0x0e43
+0xe4   0x0e44
+0xe5   0x0e45
+0xe6   0x0e46
+0xe7   0x0e47
+0xe8   0x0e48
+0xe9   0x0e49
+0xea   0x0e4a
+0xeb   0x0e4b
+0xec   0x0e4c
+0xed   0x0e4d
+0xee   0x0e4e
+0xef   0x0e4f
+0xf0   0x0e50
+0xf1   0x0e51
+0xf2   0x0e52
+0xf3   0x0e53
+0xf4   0x0e54
+0xf5   0x0e55
+0xf6   0x0e56
+0xf7   0x0e57
+0xf8   0x0e58
+0xf9   0x0e59
+0xfa   0x0e5a
+0xfb   0x0e5b
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02ibm875.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm875.t
diff -N maintain/lib/libintl-perl/tests/02ibm875.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm875.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM875',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM875',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM875');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM875',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x0391
+0x42   0x0392
+0x43   0x0393
+0x44   0x0394
+0x45   0x0395
+0x46   0x0396
+0x47   0x0397
+0x48   0x0398
+0x49   0x0399
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x039a
+0x52   0x039b
+0x53   0x039c
+0x54   0x039d
+0x55   0x039e
+0x56   0x039f
+0x57   0x03a0
+0x58   0x03a1
+0x59   0x03a3
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x03a4
+0x63   0x03a5
+0x64   0x03a6
+0x65   0x03a7
+0x66   0x03a8
+0x67   0x03a9
+0x68   0x03aa
+0x69   0x03ab
+0x6b   0xfffd
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x00a8
+0x71   0x0386
+0x72   0x0388
+0x73   0x0389
+0x74   0x2207
+0x75   0x038a
+0x76   0x038c
+0x77   0x038e
+0x78   0x038f
+0x79   0x0060
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x0385
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x03b1
+0x8b   0x03b2
+0x8c   0x03b3
+0x8d   0x03b4
+0x8e   0x03b5
+0x8f   0x03b6
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x03b7
+0x9b   0x03b8
+0x9c   0x03b9
+0x9d   0x03ba
+0x9e   0x03bb
+0x9f   0x03bc
+0xa0   0x00b4
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x03bd
+0xab   0x03be
+0xac   0x03bf
+0xad   0x03c0
+0xae   0x03c1
+0xaf   0x03c3
+0xb0   0x00a3
+0xb1   0x03ac
+0xb2   0x03ad
+0xb3   0x03ae
+0xb4   0x0390
+0xb5   0x03af
+0xb6   0x03cc
+0xb7   0x03cd
+0xb8   0x03b0
+0xb9   0x03ce
+0xba   0x03c2
+0xbb   0x03c4
+0xbc   0x03c5
+0xbd   0x03c6
+0xbe   0x03c7
+0xbf   0x03c8
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x03c9
+0xcc   0x03ca
+0xcd   0x03cb
+0xce   0x2018
+0xcf   0x2015
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x00b1
+0xdb   0x00bd
+0xdd   0xfffd
+0xdd   0x00b7
+0xde   0x2019
+0xdf   0x00a6
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00a7
+0xee   0xfffd
+0xee   0xfffd
+0xee   0x00ab
+0xef   0x00ac
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00a9
+0xfe   0xfffd
+0xfe   0xfffd
+0xfe   0x00bb
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm880.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm880.t
diff -N maintain/lib/libintl-perl/tests/02ibm880.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm880.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM880',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM880',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM880');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM880',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x42   0xfffd
+0x42   0x0452
+0x43   0x0453
+0x44   0x0451
+0x46   0xfffd
+0x46   0x0455
+0x47   0x0456
+0x48   0x0457
+0x49   0x0458
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x0459
+0x52   0x045a
+0x53   0x045b
+0x54   0x045c
+0x56   0xfffd
+0x56   0x045f
+0x57   0x042a
+0x58   0x2116
+0x59   0x0402
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x0403
+0x63   0x0401
+0x65   0xfffd
+0x65   0x0405
+0x66   0x0406
+0x67   0x0407
+0x68   0x0408
+0x69   0x0409
+0x6a   0x00a6
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x040a
+0x71   0x040b
+0x72   0x040c
+0x75   0xfffd
+0x75   0xfffd
+0x75   0x040f
+0x76   0x044e
+0x77   0x0430
+0x78   0x0431
+0x7a   0xfffd
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0x0446
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x0434
+0x8b   0x0435
+0x8c   0x0444
+0x8d   0x0433
+0x8e   0x0445
+0x8f   0x0438
+0x90   0x0439
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x043a
+0x9b   0x043b
+0x9c   0x043c
+0x9d   0x043d
+0x9e   0x043e
+0x9f   0x043f
+0xa0   0x044f
+0xa2   0xfffd
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x0440
+0xab   0x0441
+0xac   0x0442
+0xad   0x0443
+0xae   0x0436
+0xaf   0x0432
+0xb0   0x044c
+0xb1   0x044b
+0xb2   0x0437
+0xb3   0x0448
+0xb4   0x044d
+0xb5   0x0449
+0xb6   0x0447
+0xb7   0x044a
+0xb8   0x042e
+0xb9   0x0410
+0xba   0x0411
+0xbb   0x0426
+0xbc   0x0414
+0xbd   0x0415
+0xbe   0x0424
+0xbf   0x0413
+0xc1   0xfffd
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x0425
+0xcb   0x0418
+0xcc   0x0419
+0xcd   0x041a
+0xce   0x041b
+0xcf   0x041c
+0xd1   0xfffd
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x041d
+0xdb   0x041e
+0xdc   0x041f
+0xdd   0x042f
+0xde   0x0420
+0xdf   0x0421
+0xe0   0x005c
+0xe1   0x00a4
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x0422
+0xeb   0x0423
+0xec   0x0416
+0xed   0x0412
+0xee   0x042c
+0xef   0x042b
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x0417
+0xfb   0x0428
+0xfc   0x042d
+0xfd   0x0429
+0xfe   0x0427
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm891.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm891.t
diff -N maintain/lib/libintl-perl/tests/02ibm891.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm891.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM891',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM891',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM891');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM891',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02ibm903.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm903.t
diff -N maintain/lib/libintl-perl/tests/02ibm903.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm903.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM903',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM903',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM903');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM903',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02ibm904.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm904.t
diff -N maintain/lib/libintl-perl/tests/02ibm904.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm904.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM904',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM904',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM904');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM904',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00a2
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0x00ac
+0xfe   0x00a6
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02ibm905.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm905.t
diff -N maintain/lib/libintl-perl/tests/02ibm905.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm905.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM905',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM905',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM905');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM905',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x42   0xfffd
+0x42   0x00e2
+0x43   0x00e4
+0x44   0x00e0
+0x45   0x00e1
+0x47   0xfffd
+0x47   0x010b
+0x48   0x007b
+0x49   0x00f1
+0x4a   0x00c7
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0x00e9
+0x52   0x00ea
+0x53   0x00eb
+0x54   0x00e8
+0x55   0x00ed
+0x56   0x00ee
+0x57   0x00ef
+0x58   0x00ec
+0x59   0x00df
+0x5a   0x011e
+0x5b   0x0130
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0x00c2
+0x63   0x00c4
+0x64   0x00c0
+0x65   0x00c1
+0x67   0xfffd
+0x67   0x010a
+0x68   0x005b
+0x69   0x00d1
+0x6a   0x015f
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x71   0xfffd
+0x71   0x00c9
+0x72   0x00ca
+0x73   0x00cb
+0x74   0x00c8
+0x75   0x00cd
+0x76   0x00ce
+0x77   0x00cf
+0x78   0x00cc
+0x79   0x0131
+0x7a   0x003a
+0x7b   0x00d6
+0x7c   0x015e
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x00dc
+0x80   0x02d8
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x0127
+0x8b   0x0109
+0x8c   0x015d
+0x8d   0x016d
+0x8f   0xfffd
+0x8f   0x007c
+0x90   0x00b0
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x0125
+0x9b   0x011d
+0x9c   0x0135
+0x9d   0x02db
+0x9f   0xfffd
+0x9f   0x00a4
+0xa0   0x00b5
+0xa1   0x00f6
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0x0126
+0xab   0x0108
+0xac   0x015c
+0xad   0x016c
+0xaf   0xfffd
+0xaf   0x0040
+0xb0   0x00b7
+0xb1   0x00a3
+0xb2   0x017c
+0xb3   0x007d
+0xb4   0x017b
+0xb5   0x00a7
+0xb6   0x005d
+0xb8   0xfffd
+0xb8   0x00bd
+0xb9   0x0024
+0xba   0x0124
+0xbb   0x011c
+0xbc   0x0134
+0xbd   0x00a8
+0xbe   0x00b4
+0xbf   0x00d7
+0xc0   0x00e7
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcb   0x00f4
+0xcc   0x007e
+0xcd   0x00f2
+0xce   0x00f3
+0xcf   0x0121
+0xd0   0x011f
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0x0060
+0xdb   0x00fb
+0xdc   0x005c
+0xdd   0x00f9
+0xde   0x00fa
+0xe0   0xfffd
+0xe0   0x00fc
+0xe1   0x00f7
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x00b2
+0xeb   0x00d4
+0xec   0x0023
+0xed   0x00d2
+0xee   0x00d3
+0xef   0x0120
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfa   0x00b3
+0xfb   0x00db
+0xfc   0x0022
+0xfd   0x00d9
+0xfe   0x00da
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02ibm918.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02ibm918.t
diff -N maintain/lib/libintl-perl/tests/02ibm918.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02ibm918.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IBM918',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IBM918',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IBM918');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x6f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IBM918',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x009c
+0x05   0x0009
+0x06   0x0086
+0x07   0x007f
+0x08   0x0097
+0x09   0x008d
+0x0a   0x008e
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x009d
+0x15   0x0085
+0x16   0x0008
+0x17   0x0087
+0x18   0x0018
+0x19   0x0019
+0x1a   0x0092
+0x1b   0x008f
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0080
+0x21   0x0081
+0x22   0x0082
+0x23   0x0083
+0x24   0x0084
+0x25   0x000a
+0x26   0x0017
+0x27   0x001b
+0x28   0x0088
+0x29   0x0089
+0x2a   0x008a
+0x2b   0x008b
+0x2c   0x008c
+0x2d   0x0005
+0x2e   0x0006
+0x2f   0x0007
+0x30   0x0090
+0x31   0x0091
+0x32   0x0016
+0x33   0x0093
+0x34   0x0094
+0x35   0x0095
+0x36   0x0096
+0x37   0x0004
+0x38   0x0098
+0x39   0x0099
+0x3a   0x009a
+0x3b   0x009b
+0x3c   0x0014
+0x3d   0x0015
+0x3e   0x009e
+0x3f   0x001a
+0x40   0x0020
+0x41   0x00a0
+0x42   0x060c
+0x43   0x061b
+0x44   0x061f
+0x45   0x0623
+0x46   0x0627
+0x47   0xfe8e
+0x49   0xfffd
+0x49   0x0628
+0x4a   0x005b
+0x4b   0x002e
+0x4c   0x003c
+0x4d   0x0028
+0x4e   0x002b
+0x4f   0x0021
+0x50   0x0026
+0x51   0xfe91
+0x52   0x067e
+0x54   0xfffd
+0x54   0x0629
+0x55   0x062a
+0x56   0xfe97
+0x59   0xfffd
+0x59   0xfffd
+0x59   0x062b
+0x5a   0x005d
+0x5b   0x0024
+0x5c   0x002a
+0x5d   0x0029
+0x5e   0x003b
+0x5f   0x005e
+0x60   0x002d
+0x61   0x002f
+0x62   0xfe9b
+0x63   0x062c
+0x64   0xfe9f
+0x67   0xfffd
+0x67   0xfffd
+0x67   0x062d
+0x68   0xfea3
+0x69   0x062e
+0x6a   0x0060
+0x6b   0x002c
+0x6c   0x0025
+0x6d   0x005f
+0x6e   0x003e
+0x6f   0x003f
+0x70   0x0660
+0x71   0x0661
+0x72   0x0662
+0x73   0x0663
+0x74   0x0664
+0x75   0x0665
+0x76   0x0666
+0x77   0x0667
+0x78   0x0668
+0x79   0x0669
+0x7a   0x003a
+0x7b   0x0023
+0x7c   0x0040
+0x7d   0x0027
+0x7e   0x003d
+0x7f   0x0022
+0x80   0xfea7
+0x81   0x0061
+0x82   0x0062
+0x83   0x0063
+0x84   0x0064
+0x85   0x0065
+0x86   0x0066
+0x87   0x0067
+0x88   0x0068
+0x89   0x0069
+0x8a   0x062f
+0x8c   0xfffd
+0x8c   0x0630
+0x8d   0x0631
+0x8f   0xfffd
+0x8f   0x0632
+0x91   0xfffd
+0x91   0x006a
+0x92   0x006b
+0x93   0x006c
+0x94   0x006d
+0x95   0x006e
+0x96   0x006f
+0x97   0x0070
+0x98   0x0071
+0x99   0x0072
+0x9a   0x0633
+0x9b   0xfeb3
+0x9c   0x0634
+0x9d   0xfeb7
+0x9e   0x0635
+0x9f   0xfebb
+0xa0   0x0636
+0xa1   0x007e
+0xa2   0x0073
+0xa3   0x0074
+0xa4   0x0075
+0xa5   0x0076
+0xa6   0x0077
+0xa7   0x0078
+0xa8   0x0079
+0xa9   0x007a
+0xaa   0xfebf
+0xab   0x0637
+0xac   0x0638
+0xad   0x0639
+0xae   0xfeca
+0xaf   0xfecb
+0xb0   0xfecc
+0xb1   0x063a
+0xb2   0xfece
+0xb3   0xfecf
+0xb4   0xfed0
+0xb5   0x0641
+0xb6   0xfed3
+0xb7   0x0642
+0xb8   0xfed7
+0xb9   0x0643
+0xba   0xfedb
+0xbb   0x007c
+0xbe   0xfffd
+0xbe   0xfffd
+0xbe   0x0644
+0xbf   0xfede
+0xc0   0x007b
+0xc1   0x0041
+0xc2   0x0042
+0xc3   0x0043
+0xc4   0x0044
+0xc5   0x0045
+0xc6   0x0046
+0xc7   0x0047
+0xc8   0x0048
+0xc9   0x0049
+0xca   0x00ad
+0xcc   0xfffd
+0xcc   0x0645
+0xcd   0xfee3
+0xcf   0xfffd
+0xcf   0x0646
+0xd0   0x007d
+0xd1   0x004a
+0xd2   0x004b
+0xd3   0x004c
+0xd4   0x004d
+0xd5   0x004e
+0xd6   0x004f
+0xd7   0x0050
+0xd8   0x0051
+0xd9   0x0052
+0xda   0xfee7
+0xdc   0xfffd
+0xdc   0x0648
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x005c
+0xe2   0xfffd
+0xe2   0x0053
+0xe3   0x0054
+0xe4   0x0055
+0xe5   0x0056
+0xe6   0x0057
+0xe7   0x0058
+0xe8   0x0059
+0xe9   0x005a
+0xea   0x0621
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0xfffd
+0xf0   0x0030
+0xf1   0x0031
+0xf2   0x0032
+0xf3   0x0033
+0xf4   0x0034
+0xf5   0x0035
+0xf6   0x0036
+0xf7   0x0037
+0xf8   0x0038
+0xf9   0x0039
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0x0651
+0xfe   0xfe7d
+0xff   0x009f

Index: maintain/lib/libintl-perl/tests/02iec_p27-1.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iec_p27-1.t
diff -N maintain/lib/libintl-perl/tests/02iec_p27-1.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iec_p27-1.t       12 Oct 2011 23:52:06 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'IEC_P27-1',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'IEC_P27-1',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'IEC_P27-1');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'IEC_P27-1',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x02c7
+0xa1   0x2261
+0xa2   0x2227
+0xa3   0x2228
+0xa4   0x2229
+0xa5   0x222a
+0xa6   0x2282
+0xa7   0x2283
+0xa8   0x21d0
+0xa9   0x21d2
+0xaa   0x2234
+0xab   0x2235
+0xac   0x2208
+0xad   0x220b
+0xae   0x2286
+0xaf   0x2287
+0xb0   0x222b
+0xb1   0x222e
+0xb2   0x221e
+0xb3   0x2207
+0xb4   0x2202
+0xb5   0x223c
+0xb6   0x2248
+0xb7   0x2243
+0xb8   0x2245
+0xb9   0x2264
+0xba   0x2260
+0xbb   0x2265
+0xbc   0x2194
+0xbd   0x00ac
+0xbe   0x2200
+0xbf   0x2203
+0xc0   0x05d0
+0xc1   0x25a1
+0xc2   0x2225
+0xc3   0x0393
+0xc4   0x0394
+0xc5   0x22a5
+0xc6   0x2220
+0xc7   0x221f
+0xc8   0x0398
+0xc9   0x2329
+0xca   0x232a
+0xcb   0x039b
+0xcc   0x2032
+0xcd   0x2033
+0xce   0x039e
+0xcf   0x2213
+0xd0   0x03a0
+0xd1   0x00b2
+0xd2   0x03a3
+0xd3   0x00d7
+0xd4   0x00b3
+0xd5   0x03a5
+0xd6   0x03a6
+0xd7   0x00b7
+0xd8   0x03a8
+0xd9   0x03a9
+0xda   0x2205
+0xdb   0x21c0
+0xdc   0x221a
+0xdd   0x0192
+0xde   0x221d
+0xdf   0x00b1
+0xe0   0x00b0
+0xe1   0x03b1
+0xe2   0x03b2
+0xe3   0x03b3
+0xe4   0x03b4
+0xe5   0x03b5
+0xe6   0x03b6
+0xe7   0x03b7
+0xe8   0x03b8
+0xe9   0x03b9
+0xea   0x03ba
+0xeb   0x03bb
+0xec   0x03bc
+0xed   0x03bd
+0xee   0x03be
+0xef   0x2030
+0xf0   0x03c0
+0xf1   0x03c1
+0xf2   0x03c3
+0xf3   0x00f7
+0xf4   0x03c4
+0xf5   0x03c5
+0xf6   0x03c6
+0xf7   0x03c7
+0xf8   0x03c8
+0xf9   0x03c9
+0xfa   0x2020
+0xfb   0x2190
+0xfc   0x2191
+0xfd   0x2192
+0xfe   0x2193
+0xff   0x203e

Index: maintain/lib/libintl-perl/tests/02inis-8.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02inis-8.t
diff -N maintain/lib/libintl-perl/tests/02inis-8.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02inis-8.t  12 Oct 2011 23:52:06 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'INIS-8',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'INIS-8',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'INIS-8');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'INIS-8',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0xfffd
+0x3a   0x03b1
+0x3b   0x03b2
+0x3c   0x03b3
+0x3d   0x03b4
+0x3e   0x039e
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0xfffd
+0x5e   0x2192
+0x5f   0x222b
+0x60   0x2070
+0x61   0x00b9
+0x62   0x00b2
+0x63   0x00b3
+0x64   0x2074
+0x65   0x2075
+0x66   0x2076
+0x67   0x2077
+0x68   0x2078
+0x69   0x2079
+0x6a   0x207a
+0x6b   0x207b
+0x6c   0x30eb
+0x6d   0x0394
+0x6e   0x039b
+0x6f   0x03a9
+0x70   0x2080
+0x71   0x2081
+0x72   0x2082
+0x73   0x2083
+0x74   0x2084
+0x75   0x2085
+0x76   0x2086
+0x77   0x2087
+0x78   0x2088
+0x79   0x2089
+0x7a   0x03a3
+0x7b   0x03bc
+0x7c   0x03bd
+0x7d   0x03c9
+0x7e   0x03c0
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02inis-cyrillic.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02inis-cyrillic.t
diff -N maintain/lib/libintl-perl/tests/02inis-cyrillic.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02inis-cyrillic.t   12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'INIS-CYRILLIC',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'INIS-CYRILLIC',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'INIS-CYRILLIC');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'INIS-CYRILLIC',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0xfffd
+0x2c   0x221a
+0x2e   0xfffd
+0x2e   0x2192
+0x2f   0x222b
+0x30   0x03b1
+0x31   0x03b2
+0x32   0x03b3
+0x33   0x03b4
+0x34   0x03a3
+0x35   0x03bc
+0x36   0x03bd
+0x37   0x03c9
+0x38   0x03c0
+0x39   0x039e
+0x3a   0x0394
+0x3b   0x039b
+0x3c   0x03a9
+0x3d   0x042a
+0x3e   0x207b
+0x3f   0x207a
+0x40   0x044e
+0x41   0x0430
+0x42   0x0431
+0x43   0x0446
+0x44   0x0434
+0x45   0x0435
+0x46   0x0444
+0x47   0x0433
+0x48   0x0445
+0x49   0x0438
+0x4a   0x0439
+0x4b   0x043a
+0x4c   0x043b
+0x4d   0x043c
+0x4e   0x043d
+0x4f   0x043e
+0x50   0x043f
+0x51   0x044f
+0x52   0x0440
+0x53   0x0441
+0x54   0x0442
+0x55   0x0443
+0x56   0x0436
+0x57   0x0432
+0x58   0x044c
+0x59   0x044b
+0x5a   0x0437
+0x5b   0x0448
+0x5c   0x044d
+0x5d   0x0449
+0x5e   0x0447
+0x5f   0x044a
+0x60   0x042e
+0x61   0x0410
+0x62   0x0411
+0x63   0x0426
+0x64   0x0414
+0x65   0x0415
+0x66   0x0424
+0x67   0x0413
+0x68   0x0425
+0x69   0x0418
+0x6a   0x0419
+0x6b   0x041a
+0x6c   0x041b
+0x6d   0x041c
+0x6e   0x041d
+0x6f   0x041e
+0x70   0x041f
+0x71   0x042f
+0x72   0x0420
+0x73   0x0421
+0x74   0x0422
+0x75   0x0423
+0x76   0x0416
+0x77   0x0412
+0x78   0x042c
+0x79   0x042b
+0x7a   0x0417
+0x7b   0x0428
+0x7c   0x042d
+0x7d   0x0429
+0x7e   0x0427
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02inis.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02inis.t
diff -N maintain/lib/libintl-perl/tests/02inis.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02inis.t    12 Oct 2011 23:52:07 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'INIS',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'INIS',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'INIS');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'INIS',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x24   0xfffd
+0x24   0xfffd
+0x24   0xfffd
+0x24   0x0024
+0x25   0x0025
+0x27   0xfffd
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x41   0xfffd
+0x41   0xfffd
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5d   0xfffd
+0x5d   0x005d
+0x61   0xfffd
+0x61   0xfffd
+0x61   0xfffd
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7c   0xfffd
+0x7c   0x007c
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso-8859-1.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-1.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-1.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-1.t      12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,398 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-1',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-1',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-1');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-1',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0A   0x000A
+0x0B   0x000B
+0x0C   0x000C
+0x0D   0x000D
+0x0E   0x000E
+0x0F   0x000F
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1A   0x001A
+0x1B   0x001B
+0x1C   0x001C
+0x1D   0x001D
+0x1E   0x001E
+0x1F   0x001F
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2A   0x002A
+0x2B   0x002B
+0x2C   0x002C
+0x2D   0x002D
+0x2E   0x002E
+0x2F   0x002F
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3A   0x003A
+0x3B   0x003B
+0x3C   0x003C
+0x3D   0x003D
+0x3E   0x003E
+0x3F   0x003F
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4A   0x004A
+0x4B   0x004B
+0x4C   0x004C
+0x4D   0x004D
+0x4E   0x004E
+0x4F   0x004F
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5A   0x005A
+0x5B   0x005B
+0x5C   0x005C
+0x5D   0x005D
+0x5E   0x005E
+0x5F   0x005F
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6A   0x006A
+0x6B   0x006B
+0x6C   0x006C
+0x6D   0x006D
+0x6E   0x006E
+0x6F   0x006F
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7A   0x007A
+0x7B   0x007B
+0x7C   0x007C
+0x7D   0x007D
+0x7E   0x007E
+0x7F   0x007F
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8A   0x008A
+0x8B   0x008B
+0x8C   0x008C
+0x8D   0x008D
+0x8E   0x008E
+0x8F   0x008F
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9A   0x009A
+0x9B   0x009B
+0x9C   0x009C
+0x9D   0x009D
+0x9E   0x009E
+0x9F   0x009F
+0xA0   0x00A0
+0xA1   0x00A1
+0xA2   0x00A2
+0xA3   0x00A3
+0xA4   0x00A4
+0xA5   0x00A5
+0xA6   0x00A6
+0xA7   0x00A7
+0xA8   0x00A8
+0xA9   0x00A9
+0xAA   0x00AA
+0xAB   0x00AB
+0xAC   0x00AC
+0xAD   0x00AD
+0xAE   0x00AE
+0xAF   0x00AF
+0xB0   0x00B0
+0xB1   0x00B1
+0xB2   0x00B2
+0xB3   0x00B3
+0xB4   0x00B4
+0xB5   0x00B5
+0xB6   0x00B6
+0xB7   0x00B7
+0xB8   0x00B8
+0xB9   0x00B9
+0xBA   0x00BA
+0xBB   0x00BB
+0xBC   0x00BC
+0xBD   0x00BD
+0xBE   0x00BE
+0xBF   0x00BF
+0xC0   0x00C0
+0xC1   0x00C1
+0xC2   0x00C2
+0xC3   0x00C3
+0xC4   0x00C4
+0xC5   0x00C5
+0xC6   0x00C6
+0xC7   0x00C7
+0xC8   0x00C8
+0xC9   0x00C9
+0xCA   0x00CA
+0xCB   0x00CB
+0xCC   0x00CC
+0xCD   0x00CD
+0xCE   0x00CE
+0xCF   0x00CF
+0xD0   0x00D0
+0xD1   0x00D1
+0xD2   0x00D2
+0xD3   0x00D3
+0xD4   0x00D4
+0xD5   0x00D5
+0xD6   0x00D6
+0xD7   0x00D7
+0xD8   0x00D8
+0xD9   0x00D9
+0xDA   0x00DA
+0xDB   0x00DB
+0xDC   0x00DC
+0xDD   0x00DD
+0xDE   0x00DE
+0xDF   0x00DF
+0xE0   0x00E0
+0xE1   0x00E1
+0xE2   0x00E2
+0xE3   0x00E3
+0xE4   0x00E4
+0xE5   0x00E5
+0xE6   0x00E6
+0xE7   0x00E7
+0xE8   0x00E8
+0xE9   0x00E9
+0xEA   0x00EA
+0xEB   0x00EB
+0xEC   0x00EC
+0xED   0x00ED
+0xEE   0x00EE
+0xEF   0x00EF
+0xF0   0x00F0
+0xF1   0x00F1
+0xF2   0x00F2
+0xF3   0x00F3
+0xF4   0x00F4
+0xF5   0x00F5
+0xF6   0x00F6
+0xF7   0x00F7
+0xF8   0x00F8
+0xF9   0x00F9
+0xFA   0x00FA
+0xFB   0x00FB
+0xFC   0x00FC
+0xFD   0x00FD
+0xFE   0x00FE
+0xFF   0x00FF

Index: maintain/lib/libintl-perl/tests/02iso-8859-10.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-10.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-10.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-10.t     12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-10',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-10',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-10');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-10',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0104
+0xa2   0x0112
+0xa3   0x0122
+0xa4   0x012a
+0xa5   0x0128
+0xa6   0x0136
+0xa7   0x00a7
+0xa8   0x013b
+0xa9   0x0110
+0xaa   0x0160
+0xab   0x0166
+0xac   0x017d
+0xad   0x00ad
+0xae   0x016a
+0xaf   0x014a
+0xb0   0x00b0
+0xb1   0x0105
+0xb2   0x0113
+0xb3   0x0123
+0xb4   0x012b
+0xb5   0x0129
+0xb6   0x0137
+0xb7   0x00b7
+0xb8   0x013c
+0xb9   0x0111
+0xba   0x0161
+0xbb   0x0167
+0xbc   0x017e
+0xbd   0x2015
+0xbe   0x016b
+0xbf   0x014b
+0xc0   0x0100
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x012e
+0xc8   0x010c
+0xc9   0x00c9
+0xca   0x0118
+0xcb   0x00cb
+0xcc   0x0116
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x00d0
+0xd1   0x0145
+0xd2   0x014c
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x0168
+0xd8   0x00d8
+0xd9   0x0172
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x00de
+0xdf   0x00df
+0xe0   0x0101
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x012f
+0xe8   0x010d
+0xe9   0x00e9
+0xea   0x0119
+0xeb   0x00eb
+0xec   0x0117
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x00f0
+0xf1   0x0146
+0xf2   0x014d
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x0169
+0xf8   0x00f8
+0xf9   0x0173
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x00fe
+0xff   0x0138

Index: maintain/lib/libintl-perl/tests/02iso-8859-11.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-11.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-11.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-11.t     12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,376 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       eval {
+               require Encode;
+
+               if ($Encode::VERSION < "1.78") {
+                       print "1..0 # Skip: Encode $Encode::VERSION has a " .
+                               "bug, please upgrade!\n";
+                       exit 0;
+               }
+       };
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-11',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-11',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-11');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-11',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0xa0   0x00a0
+0xa1   0x0e01
+0xa2   0x0e02
+0xa3   0x0e03
+0xa4   0x0e04
+0xa5   0x0e05
+0xa6   0x0e06
+0xa7   0x0e07
+0xa8   0x0e08
+0xa9   0x0e09
+0xaa   0x0e0a
+0xab   0x0e0b
+0xac   0x0e0c
+0xad   0x0e0d
+0xae   0x0e0e
+0xaf   0x0e0f
+0xb0   0x0e10
+0xb1   0x0e11
+0xb2   0x0e12
+0xb3   0x0e13
+0xb4   0x0e14
+0xb5   0x0e15
+0xb6   0x0e16
+0xb7   0x0e17
+0xb8   0x0e18
+0xb9   0x0e19
+0xba   0x0e1a
+0xbb   0x0e1b
+0xbc   0x0e1c
+0xbd   0x0e1d
+0xbe   0x0e1e
+0xbf   0x0e1f
+0xc0   0x0e20
+0xc1   0x0e21
+0xc2   0x0e22
+0xc3   0x0e23
+0xc4   0x0e24
+0xc5   0x0e25
+0xc6   0x0e26
+0xc7   0x0e27
+0xc8   0x0e28
+0xc9   0x0e29
+0xca   0x0e2a
+0xcb   0x0e2b
+0xcc   0x0e2c
+0xcd   0x0e2d
+0xce   0x0e2e
+0xcf   0x0e2f
+0xd0   0x0e30
+0xd1   0x0e31
+0xd2   0x0e32
+0xd3   0x0e33
+0xd4   0x0e34
+0xd5   0x0e35
+0xd6   0x0e36
+0xd7   0x0e37
+0xd8   0x0e38
+0xd9   0x0e39
+0xda   0x0e3a
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0x0e3f
+0xe0   0x0e40
+0xe1   0x0e41
+0xe2   0x0e42
+0xe3   0x0e43
+0xe4   0x0e44
+0xe5   0x0e45
+0xe6   0x0e46
+0xe7   0x0e47
+0xe8   0x0e48
+0xe9   0x0e49
+0xea   0x0e4a
+0xeb   0x0e4b
+0xec   0x0e4c
+0xed   0x0e4d
+0xee   0x0e4e
+0xef   0x0e4f
+0xf0   0x0e50
+0xf1   0x0e51
+0xf2   0x0e52
+0xf3   0x0e53
+0xf4   0x0e54
+0xf5   0x0e55
+0xf6   0x0e56
+0xf7   0x0e57
+0xf8   0x0e58
+0xf9   0x0e59
+0xfa   0x0e5a
+0xfb   0x0e5b
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso-8859-13.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-13.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-13.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-13.t     12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-13',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-13',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-13');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-13',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x201d
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x201e
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00d8
+0xa9   0x00a9
+0xaa   0x0156
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00c6
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x201c
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00f8
+0xb9   0x00b9
+0xba   0x0157
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00e6
+0xc0   0x0104
+0xc1   0x012e
+0xc2   0x0100
+0xc3   0x0106
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x0118
+0xc7   0x0112
+0xc8   0x010c
+0xc9   0x00c9
+0xca   0x0179
+0xcb   0x0116
+0xcc   0x0122
+0xcd   0x0136
+0xce   0x012a
+0xcf   0x013b
+0xd0   0x0160
+0xd1   0x0143
+0xd2   0x0145
+0xd3   0x00d3
+0xd4   0x014c
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x0172
+0xd9   0x0141
+0xda   0x015a
+0xdb   0x016a
+0xdc   0x00dc
+0xdd   0x017b
+0xde   0x017d
+0xdf   0x00df
+0xe0   0x0105
+0xe1   0x012f
+0xe2   0x0101
+0xe3   0x0107
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x0119
+0xe7   0x0113
+0xe8   0x010d
+0xe9   0x00e9
+0xea   0x017a
+0xeb   0x0117
+0xec   0x0123
+0xed   0x0137
+0xee   0x012b
+0xef   0x013c
+0xf0   0x0161
+0xf1   0x0144
+0xf2   0x0146
+0xf3   0x00f3
+0xf4   0x014d
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x0173
+0xf9   0x0142
+0xfa   0x015b
+0xfb   0x016b
+0xfc   0x00fc
+0xfd   0x017c
+0xfe   0x017e
+0xff   0x2019

Index: maintain/lib/libintl-perl/tests/02iso-8859-14.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-14.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-14.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-14.t     12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-14',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-14',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-14');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-14',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x1e02
+0xa2   0x1e03
+0xa3   0x00a3
+0xa4   0x010a
+0xa5   0x010b
+0xa6   0x1e0a
+0xa7   0x00a7
+0xa8   0x1e80
+0xa9   0x00a9
+0xaa   0x1e82
+0xab   0x1e0b
+0xac   0x1ef2
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x0178
+0xb0   0x1e1e
+0xb1   0x1e1f
+0xb2   0x0120
+0xb3   0x0121
+0xb4   0x1e40
+0xb5   0x1e41
+0xb6   0x00b6
+0xb7   0x1e56
+0xb8   0x1e81
+0xb9   0x1e57
+0xba   0x1e83
+0xbb   0x1e60
+0xbc   0x1ef3
+0xbd   0x1e84
+0xbe   0x1e85
+0xbf   0x1e61
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x0174
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x1e6a
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x0176
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x0175
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x1e6b
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x0177
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02iso-8859-15.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-15.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-15.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-15.t     12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-15',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-15',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-15');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-15',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x20ac
+0xa5   0x00a5
+0xa6   0x0160
+0xa7   0x00a7
+0xa8   0x0161
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x017d
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x017e
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x0152
+0xbd   0x0153
+0xbe   0x0178
+0xbf   0x00bf
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x00d0
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x00de
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x00f0
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x00fe
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02iso-8859-16.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-16.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-16.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-16.t     12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-16',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-16',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-16');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-16',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0104
+0xa2   0x0105
+0xa3   0x0141
+0xa4   0x20ac
+0xa5   0x201e
+0xa6   0x0160
+0xa7   0x00a7
+0xa8   0x0161
+0xa9   0x00a9
+0xaa   0x0218
+0xab   0x00ab
+0xac   0x0179
+0xad   0x00ad
+0xae   0x017a
+0xaf   0x017b
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x010c
+0xb3   0x0142
+0xb4   0x017d
+0xb5   0x201d
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x017e
+0xb9   0x010d
+0xba   0x0219
+0xbb   0x00bb
+0xbc   0x0152
+0xbd   0x0153
+0xbe   0x0178
+0xbf   0x017c
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x0102
+0xc4   0x00c4
+0xc5   0x0106
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x0110
+0xd1   0x0143
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x0150
+0xd6   0x00d6
+0xd7   0x015a
+0xd8   0x0170
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x0118
+0xde   0x021a
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x0103
+0xe4   0x00e4
+0xe5   0x0107
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x0111
+0xf1   0x0144
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x0151
+0xf6   0x00f6
+0xf7   0x015b
+0xf8   0x0171
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x0119
+0xfe   0x021b
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02iso-8859-2.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-2.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-2.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-2.t      12 Oct 2011 23:52:07 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-2',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-2',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-2');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-2',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0104
+0xa2   0x02d8
+0xa3   0x0141
+0xa4   0x00a4
+0xa5   0x013d
+0xa6   0x015a
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x0160
+0xaa   0x015e
+0xab   0x0164
+0xac   0x0179
+0xad   0x00ad
+0xae   0x017d
+0xaf   0x017b
+0xb0   0x00b0
+0xb1   0x0105
+0xb2   0x02db
+0xb3   0x0142
+0xb4   0x00b4
+0xb5   0x013e
+0xb6   0x015b
+0xb7   0x02c7
+0xb8   0x00b8
+0xb9   0x0161
+0xba   0x015f
+0xbb   0x0165
+0xbc   0x017a
+0xbd   0x02dd
+0xbe   0x017e
+0xbf   0x017c
+0xc0   0x0154
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x0102
+0xc4   0x00c4
+0xc5   0x0139
+0xc6   0x0106
+0xc7   0x00c7
+0xc8   0x010c
+0xc9   0x00c9
+0xca   0x0118
+0xcb   0x00cb
+0xcc   0x011a
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x010e
+0xd0   0x0110
+0xd1   0x0143
+0xd2   0x0147
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x0150
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x0158
+0xd9   0x016e
+0xda   0x00da
+0xdb   0x0170
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x0162
+0xdf   0x00df
+0xe0   0x0155
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x0103
+0xe4   0x00e4
+0xe5   0x013a
+0xe6   0x0107
+0xe7   0x00e7
+0xe8   0x010d
+0xe9   0x00e9
+0xea   0x0119
+0xeb   0x00eb
+0xec   0x011b
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x010f
+0xf0   0x0111
+0xf1   0x0144
+0xf2   0x0148
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x0151
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x0159
+0xf9   0x016f
+0xfa   0x00fa
+0xfb   0x0171
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x0163
+0xff   0x02d9

Index: maintain/lib/libintl-perl/tests/02iso-8859-3.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-3.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-3.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-3.t      12 Oct 2011 23:52:08 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-3',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-3',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-3');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-3',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0126
+0xa2   0x02d8
+0xa3   0x00a3
+0xa4   0x00a4
+0xa6   0xfffd
+0xa6   0x0124
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x0130
+0xaa   0x015e
+0xab   0x011e
+0xac   0x0134
+0xad   0x00ad
+0xaf   0xfffd
+0xaf   0x017b
+0xb0   0x00b0
+0xb1   0x0127
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x0125
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x0131
+0xba   0x015f
+0xbb   0x011f
+0xbc   0x0135
+0xbd   0x00bd
+0xbf   0xfffd
+0xbf   0x017c
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc4   0xfffd
+0xc4   0x00c4
+0xc5   0x010a
+0xc6   0x0108
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd1   0xfffd
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x0120
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x011c
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x016c
+0xde   0x015c
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe4   0xfffd
+0xe4   0x00e4
+0xe5   0x010b
+0xe6   0x0109
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf1   0xfffd
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x0121
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x011d
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x016d
+0xfe   0x015d
+0xff   0x02d9

Index: maintain/lib/libintl-perl/tests/02iso-8859-4.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-4.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-4.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-4.t      12 Oct 2011 23:52:08 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-4',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-4',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-4');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-4',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0104
+0xa2   0x0138
+0xa3   0x0156
+0xa4   0x00a4
+0xa5   0x0128
+0xa6   0x013b
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x0160
+0xaa   0x0112
+0xab   0x0122
+0xac   0x0166
+0xad   0x00ad
+0xae   0x017d
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x0105
+0xb2   0x02db
+0xb3   0x0157
+0xb4   0x00b4
+0xb5   0x0129
+0xb6   0x013c
+0xb7   0x02c7
+0xb8   0x00b8
+0xb9   0x0161
+0xba   0x0113
+0xbb   0x0123
+0xbc   0x0167
+0xbd   0x014a
+0xbe   0x017e
+0xbf   0x014b
+0xc0   0x0100
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x012e
+0xc8   0x010c
+0xc9   0x00c9
+0xca   0x0118
+0xcb   0x00cb
+0xcc   0x0116
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x012a
+0xd0   0x0110
+0xd1   0x0145
+0xd2   0x014c
+0xd3   0x0136
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x00d8
+0xd9   0x0172
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x0168
+0xde   0x016a
+0xdf   0x00df
+0xe0   0x0101
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x012f
+0xe8   0x010d
+0xe9   0x00e9
+0xea   0x0119
+0xeb   0x00eb
+0xec   0x0117
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x012b
+0xf0   0x0111
+0xf1   0x0146
+0xf2   0x014d
+0xf3   0x0137
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x0173
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x0169
+0xfe   0x016b
+0xff   0x02d9

Index: maintain/lib/libintl-perl/tests/02iso-8859-5.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-5.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-5.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-5.t      12 Oct 2011 23:52:08 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-5',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-5',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-5');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-5',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x0401
+0xa2   0x0402
+0xa3   0x0403
+0xa4   0x0404
+0xa5   0x0405
+0xa6   0x0406
+0xa7   0x0407
+0xa8   0x0408
+0xa9   0x0409
+0xaa   0x040a
+0xab   0x040b
+0xac   0x040c
+0xad   0x00ad
+0xae   0x040e
+0xaf   0x040f
+0xb0   0x0410
+0xb1   0x0411
+0xb2   0x0412
+0xb3   0x0413
+0xb4   0x0414
+0xb5   0x0415
+0xb6   0x0416
+0xb7   0x0417
+0xb8   0x0418
+0xb9   0x0419
+0xba   0x041a
+0xbb   0x041b
+0xbc   0x041c
+0xbd   0x041d
+0xbe   0x041e
+0xbf   0x041f
+0xc0   0x0420
+0xc1   0x0421
+0xc2   0x0422
+0xc3   0x0423
+0xc4   0x0424
+0xc5   0x0425
+0xc6   0x0426
+0xc7   0x0427
+0xc8   0x0428
+0xc9   0x0429
+0xca   0x042a
+0xcb   0x042b
+0xcc   0x042c
+0xcd   0x042d
+0xce   0x042e
+0xcf   0x042f
+0xd0   0x0430
+0xd1   0x0431
+0xd2   0x0432
+0xd3   0x0433
+0xd4   0x0434
+0xd5   0x0435
+0xd6   0x0436
+0xd7   0x0437
+0xd8   0x0438
+0xd9   0x0439
+0xda   0x043a
+0xdb   0x043b
+0xdc   0x043c
+0xdd   0x043d
+0xde   0x043e
+0xdf   0x043f
+0xe0   0x0440
+0xe1   0x0441
+0xe2   0x0442
+0xe3   0x0443
+0xe4   0x0444
+0xe5   0x0445
+0xe6   0x0446
+0xe7   0x0447
+0xe8   0x0448
+0xe9   0x0449
+0xea   0x044a
+0xeb   0x044b
+0xec   0x044c
+0xed   0x044d
+0xee   0x044e
+0xef   0x044f
+0xf0   0x2116
+0xf1   0x0451
+0xf2   0x0452
+0xf3   0x0453
+0xf4   0x0454
+0xf5   0x0455
+0xf6   0x0456
+0xf7   0x0457
+0xf8   0x0458
+0xf9   0x0459
+0xfa   0x045a
+0xfb   0x045b
+0xfc   0x045c
+0xfd   0x00a7
+0xfe   0x045e
+0xff   0x045f

Index: maintain/lib/libintl-perl/tests/02iso-8859-6.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-6.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-6.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-6.t      12 Oct 2011 23:52:08 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-6',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-6',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-6');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-6',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa4   0xfffd
+0xa4   0xfffd
+0xa4   0xfffd
+0xa4   0x00a4
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0x060c
+0xad   0x00ad
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0xfffd
+0xbb   0x061b
+0xbf   0xfffd
+0xbf   0xfffd
+0xbf   0xfffd
+0xbf   0x061f
+0xc1   0xfffd
+0xc1   0x0621
+0xc2   0x0622
+0xc3   0x0623
+0xc4   0x0624
+0xc5   0x0625
+0xc6   0x0626
+0xc7   0x0627
+0xc8   0x0628
+0xc9   0x0629
+0xca   0x062a
+0xcb   0x062b
+0xcc   0x062c
+0xcd   0x062d
+0xce   0x062e
+0xcf   0x062f
+0xd0   0x0630
+0xd1   0x0631
+0xd2   0x0632
+0xd3   0x0633
+0xd4   0x0634
+0xd5   0x0635
+0xd6   0x0636
+0xd7   0x0637
+0xd8   0x0638
+0xd9   0x0639
+0xda   0x063a
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x0640
+0xe1   0x0641
+0xe2   0x0642
+0xe3   0x0643
+0xe4   0x0644
+0xe5   0x0645
+0xe6   0x0646
+0xe7   0x0647
+0xe8   0x0648
+0xe9   0x0649
+0xea   0x064a
+0xeb   0x064b
+0xec   0x064c
+0xed   0x064d
+0xee   0x064e
+0xef   0x064f
+0xf0   0x0650
+0xf1   0x0651
+0xf2   0x0652
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso-8859-7.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-7.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-7.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-7.t      12 Oct 2011 23:52:08 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-7',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-7',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-7');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-7',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x2018
+0xa2   0x2019
+0xa3   0x00a3
+0xa6   0xfffd
+0xa6   0xfffd
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xab   0xfffd
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xaf   0xfffd
+0xaf   0x2015
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x0384
+0xb5   0x0385
+0xb6   0x0386
+0xb7   0x00b7
+0xb8   0x0388
+0xb9   0x0389
+0xba   0x038a
+0xbb   0x00bb
+0xbc   0x038c
+0xbd   0x00bd
+0xbe   0x038e
+0xbf   0x038f
+0xc0   0x0390
+0xc1   0x0391
+0xc2   0x0392
+0xc3   0x0393
+0xc4   0x0394
+0xc5   0x0395
+0xc6   0x0396
+0xc7   0x0397
+0xc8   0x0398
+0xc9   0x0399
+0xca   0x039a
+0xcb   0x039b
+0xcc   0x039c
+0xcd   0x039d
+0xce   0x039e
+0xcf   0x039f
+0xd0   0x03a0
+0xd1   0x03a1
+0xd3   0xfffd
+0xd3   0x03a3
+0xd4   0x03a4
+0xd5   0x03a5
+0xd6   0x03a6
+0xd7   0x03a7
+0xd8   0x03a8
+0xd9   0x03a9
+0xda   0x03aa
+0xdb   0x03ab
+0xdc   0x03ac
+0xdd   0x03ad
+0xde   0x03ae
+0xdf   0x03af
+0xe0   0x03b0
+0xe1   0x03b1
+0xe2   0x03b2
+0xe3   0x03b3
+0xe4   0x03b4
+0xe5   0x03b5
+0xe6   0x03b6
+0xe7   0x03b7
+0xe8   0x03b8
+0xe9   0x03b9
+0xea   0x03ba
+0xeb   0x03bb
+0xec   0x03bc
+0xed   0x03bd
+0xee   0x03be
+0xef   0x03bf
+0xf0   0x03c0
+0xf1   0x03c1
+0xf2   0x03c2
+0xf3   0x03c3
+0xf4   0x03c4
+0xf5   0x03c5
+0xf6   0x03c6
+0xf7   0x03c7
+0xf8   0x03c8
+0xf9   0x03c9
+0xfa   0x03ca
+0xfb   0x03cb
+0xfc   0x03cc
+0xfd   0x03cd
+0xfe   0x03ce
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso-8859-8.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-8.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-8.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-8.t      12 Oct 2011 23:52:08 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-8',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-8',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-8');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-8',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa2   0xfffd
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x00d7
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x00f7
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0xfffd
+0xdf   0x2017
+0xe0   0x05d0
+0xe1   0x05d1
+0xe2   0x05d2
+0xe3   0x05d3
+0xe4   0x05d4
+0xe5   0x05d5
+0xe6   0x05d6
+0xe7   0x05d7
+0xe8   0x05d8
+0xe9   0x05d9
+0xea   0x05da
+0xeb   0x05db
+0xec   0x05dc
+0xed   0x05dd
+0xee   0x05de
+0xef   0x05df
+0xf0   0x05e0
+0xf1   0x05e1
+0xf2   0x05e2
+0xf3   0x05e3
+0xf4   0x05e4
+0xf5   0x05e5
+0xf6   0x05e6
+0xf7   0x05e7
+0xf8   0x05e8
+0xf9   0x05e9
+0xfa   0x05ea
+0xfd   0xfffd
+0xfd   0xfffd
+0xfd   0x200e
+0xfe   0x200f
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso-8859-9.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso-8859-9.t
diff -N maintain/lib/libintl-perl/tests/02iso-8859-9.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso-8859-9.t      12 Oct 2011 23:52:08 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO-8859-9',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO-8859-9',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO-8859-9');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO-8859-9',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xa0   0x00a0
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x00a5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x00aa
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x00af
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x00b3
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x00b8
+0xb9   0x00b9
+0xba   0x00ba
+0xbb   0x00bb
+0xbc   0x00bc
+0xbd   0x00bd
+0xbe   0x00be
+0xbf   0x00bf
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x011e
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x0130
+0xde   0x015e
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x011f
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x0131
+0xfe   0x015f
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02iso_10367-box.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso_10367-box.t
diff -N maintain/lib/libintl-perl/tests/02iso_10367-box.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso_10367-box.t   12 Oct 2011 23:52:09 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO_10367-BOX',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO_10367-BOX',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO_10367-BOX');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO_10367-BOX',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0080
+0x81   0x0081
+0x82   0x0082
+0x83   0x0083
+0x84   0x0084
+0x85   0x0085
+0x86   0x0086
+0x87   0x0087
+0x88   0x0088
+0x89   0x0089
+0x8a   0x008a
+0x8b   0x008b
+0x8c   0x008c
+0x8d   0x008d
+0x8e   0x008e
+0x8f   0x008f
+0x90   0x0090
+0x91   0x0091
+0x92   0x0092
+0x93   0x0093
+0x94   0x0094
+0x95   0x0095
+0x96   0x0096
+0x97   0x0097
+0x98   0x0098
+0x99   0x0099
+0x9a   0x009a
+0x9b   0x009b
+0x9c   0x009c
+0x9d   0x009d
+0x9e   0x009e
+0x9f   0x009f
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x2551
+0xc1   0x2550
+0xc2   0x2554
+0xc3   0x2557
+0xc4   0x255a
+0xc5   0x255d
+0xc6   0x2560
+0xc7   0x2563
+0xc8   0x2566
+0xc9   0x2569
+0xca   0x256c
+0xcb   0xe019
+0xcc   0x2584
+0xcd   0x2588
+0xce   0x25aa
+0xd0   0xfffd
+0xd0   0x2502
+0xd1   0x2500
+0xd2   0x250c
+0xd3   0x2510
+0xd4   0x2514
+0xd5   0x2518
+0xd6   0x251c
+0xd7   0x2524
+0xd8   0x252c
+0xd9   0x2534
+0xda   0x253c
+0xdb   0x2591
+0xdc   0x2592
+0xdd   0x2593
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso_2033-1983.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso_2033-1983.t
diff -N maintain/lib/libintl-perl/tests/02iso_2033-1983.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso_2033-1983.t   12 Oct 2011 23:52:09 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO_2033-1983',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO_2033-1983',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO_2033-1983');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO_2033-1983',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x2446
+0x3b   0x2447
+0x3c   0x2448
+0x3d   0x2449
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso_5427-ext.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso_5427-ext.t
diff -N maintain/lib/libintl-perl/tests/02iso_5427-ext.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso_5427-ext.t    12 Oct 2011 23:52:09 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO_5427-EXT',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO_5427-EXT',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO_5427-EXT');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO_5427-EXT',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0xfffd
+0x40   0x0491
+0x41   0x0452
+0x42   0x0453
+0x43   0x0454
+0x44   0x0451
+0x45   0x0455
+0x46   0x0456
+0x47   0x0457
+0x48   0x0458
+0x49   0x0459
+0x4a   0x045a
+0x4b   0x045b
+0x4c   0x045c
+0x4d   0x045e
+0x4e   0x045f
+0x50   0xfffd
+0x50   0x0463
+0x51   0x0473
+0x52   0x0475
+0x53   0x046b
+0x5b   0xfffd
+0x5b   0xfffd
+0x5b   0xfffd
+0x5b   0xfffd
+0x5b   0xfffd
+0x5b   0xfffd
+0x5b   0xfffd
+0x5b   0x005b
+0x5d   0xfffd
+0x5d   0x005d
+0x5f   0xfffd
+0x5f   0x005f
+0x60   0x0490
+0x61   0x0402
+0x62   0x0403
+0x63   0x0404
+0x64   0x0401
+0x65   0x0405
+0x66   0x0406
+0x67   0x0407
+0x68   0x0408
+0x69   0x0409
+0x6a   0x040a
+0x6b   0x040b
+0x6c   0x040c
+0x6d   0x040e
+0x6e   0x040f
+0x6f   0x042a
+0x70   0x0462
+0x71   0x0472
+0x72   0x0474
+0x73   0x046a
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0xfffd
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso_5427.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso_5427.t
diff -N maintain/lib/libintl-perl/tests/02iso_5427.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso_5427.t        12 Oct 2011 23:52:09 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO_5427',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO_5427',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO_5427');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO_5427',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x00a4
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x044e
+0x41   0x0430
+0x42   0x0431
+0x43   0x0446
+0x44   0x0434
+0x45   0x0435
+0x46   0x0444
+0x47   0x0433
+0x48   0x0445
+0x49   0x0438
+0x4a   0x0439
+0x4b   0x043a
+0x4c   0x043b
+0x4d   0x043c
+0x4e   0x043d
+0x4f   0x043e
+0x50   0x043f
+0x51   0x044f
+0x52   0x0440
+0x53   0x0441
+0x54   0x0442
+0x55   0x0443
+0x56   0x0436
+0x57   0x0432
+0x58   0x044c
+0x59   0x044b
+0x5a   0x0437
+0x5b   0x0448
+0x5c   0x044d
+0x5d   0x0449
+0x5e   0x0447
+0x5f   0x044a
+0x60   0x042e
+0x61   0x0410
+0x62   0x0411
+0x63   0x0426
+0x64   0x0414
+0x65   0x0415
+0x66   0x0424
+0x67   0x0413
+0x68   0x0425
+0x69   0x0418
+0x6a   0x0419
+0x6b   0x041a
+0x6c   0x041b
+0x6d   0x041c
+0x6e   0x041d
+0x6f   0x041e
+0x70   0x041f
+0x71   0x042f
+0x72   0x0420
+0x73   0x0421
+0x74   0x0422
+0x75   0x0423
+0x76   0x0416
+0x77   0x0412
+0x78   0x042c
+0x79   0x042b
+0x7a   0x0417
+0x7b   0x0428
+0x7c   0x042d
+0x7d   0x0429
+0x7e   0x0427
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02iso_5428.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02iso_5428.t
diff -N maintain/lib/libintl-perl/tests/02iso_5428.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02iso_5428.t        12 Oct 2011 23:52:09 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ISO_5428',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ISO_5428',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'ISO_5428');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'ISO_5428',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0xe002
+0x22   0xe003
+0x23   0xe009
+0x24   0xe005
+0x25   0xe012
+0x26   0xe013
+0x27   0xe014
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0xfffd
+0x30   0x00ab
+0x31   0x00bb
+0x32   0x201d
+0x33   0x201c
+0x34   0x0374
+0x35   0x0375
+0x3b   0xfffd
+0x3b   0xfffd
+0x3b   0xfffd
+0x3b   0xfffd
+0x3b   0xfffd
+0x3b   0x00b7
+0x3f   0xfffd
+0x3f   0xfffd
+0x3f   0xfffd
+0x3f   0x003b
+0x41   0xfffd
+0x41   0x0391
+0x42   0x0392
+0x44   0xfffd
+0x44   0x0393
+0x45   0x0394
+0x46   0x0395
+0x47   0x03da
+0x48   0x03dc
+0x49   0x0396
+0x4a   0x0397
+0x4b   0x0398
+0x4c   0x0399
+0x4d   0x039a
+0x4e   0x039b
+0x4f   0x039c
+0x50   0x039d
+0x51   0x039e
+0x52   0x039f
+0x53   0x03a0
+0x54   0x03de
+0x55   0x03a1
+0x56   0x03a3
+0x58   0xfffd
+0x58   0x03a4
+0x59   0x03a5
+0x5a   0x03a6
+0x5b   0x03a7
+0x5c   0x03a8
+0x5d   0x03a9
+0x5e   0x03e0
+0x61   0xfffd
+0x61   0xfffd
+0x61   0x03b1
+0x62   0x03b2
+0x63   0x03d0
+0x64   0x03b3
+0x65   0x03b4
+0x66   0x03b5
+0x67   0xe01a
+0x68   0xe01b
+0x69   0x03b6
+0x6a   0x03b7
+0x6b   0x03b8
+0x6c   0x03b9
+0x6d   0x03ba
+0x6e   0x03bb
+0x6f   0x03bc
+0x70   0x03bd
+0x71   0x03be
+0x72   0x03bf
+0x73   0x03c0
+0x74   0xe01c
+0x75   0x03c1
+0x76   0x03c3
+0x77   0x03c2
+0x78   0x03c4
+0x79   0x03c5
+0x7a   0x03c6
+0x7b   0x03c7
+0x7c   0x03c8
+0x7d   0x03c9
+0x7e   0xe01d
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02koi-8.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02koi-8.t
diff -N maintain/lib/libintl-perl/tests/02koi-8.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02koi-8.t   12 Oct 2011 23:52:09 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'KOI-8',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'KOI-8',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'KOI-8');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'KOI-8',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0xfffd
+0xc0   0x044e
+0xc1   0x0430
+0xc2   0x0431
+0xc3   0x0446
+0xc4   0x0434
+0xc5   0x0435
+0xc6   0x0444
+0xc7   0x0433
+0xc8   0x0445
+0xc9   0x0438
+0xca   0x0439
+0xcb   0x043a
+0xcc   0x043b
+0xcd   0x043c
+0xce   0x043d
+0xcf   0x043e
+0xd0   0x043f
+0xd1   0x044f
+0xd2   0x0440
+0xd3   0x0441
+0xd4   0x0442
+0xd5   0x0443
+0xd6   0x0436
+0xd7   0x0432
+0xd8   0x044c
+0xd9   0x044b
+0xda   0x0437
+0xdb   0x0448
+0xdc   0x044d
+0xdd   0x0449
+0xde   0x0447
+0xdf   0x044a
+0xe0   0x042e
+0xe1   0x0410
+0xe2   0x0411
+0xe3   0x0426
+0xe4   0x0414
+0xe5   0x0415
+0xe6   0x0424
+0xe7   0x0413
+0xe8   0x0425
+0xe9   0x0418
+0xea   0x0419
+0xeb   0x041a
+0xec   0x041b
+0xed   0x041c
+0xee   0x041d
+0xef   0x041e
+0xf0   0x041f
+0xf1   0x042f
+0xf2   0x0420
+0xf3   0x0421
+0xf4   0x0422
+0xf5   0x0423
+0xf6   0x0416
+0xf7   0x0412
+0xf8   0x042c
+0xf9   0x042b
+0xfa   0x0417
+0xfb   0x0428
+0xfc   0x042d
+0xfd   0x0429
+0xfe   0x0427
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02koi8-r.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02koi8-r.t
diff -N maintain/lib/libintl-perl/tests/02koi8-r.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02koi8-r.t  12 Oct 2011 23:52:09 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'KOI8-R',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'KOI8-R',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'KOI8-R');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'KOI8-R',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x2500
+0x81   0x2502
+0x82   0x250c
+0x83   0x2510
+0x84   0x2514
+0x85   0x2518
+0x86   0x251c
+0x87   0x2524
+0x88   0x252c
+0x89   0x2534
+0x8a   0x253c
+0x8b   0x2580
+0x8c   0x2584
+0x8d   0x2588
+0x8e   0x258c
+0x8f   0x2590
+0x90   0x2591
+0x91   0x2592
+0x92   0x2593
+0x93   0x2320
+0x94   0x25a0
+0x95   0x2219
+0x96   0x221a
+0x97   0x2248
+0x98   0x2264
+0x99   0x2265
+0x9a   0x00a0
+0x9b   0x2321
+0x9c   0x00b0
+0x9d   0x00b2
+0x9e   0x00b7
+0x9f   0x00f7
+0xa0   0x2550
+0xa1   0x2551
+0xa2   0x2552
+0xa3   0x0451
+0xa4   0x2553
+0xa5   0x2554
+0xa6   0x2555
+0xa7   0x2556
+0xa8   0x2557
+0xa9   0x2558
+0xaa   0x2559
+0xab   0x255a
+0xac   0x255b
+0xad   0x255c
+0xae   0x255d
+0xaf   0x255e
+0xb0   0x255f
+0xb1   0x2560
+0xb2   0x2561
+0xb3   0x0401
+0xb4   0x2562
+0xb5   0x2563
+0xb6   0x2564
+0xb7   0x2565
+0xb8   0x2566
+0xb9   0x2567
+0xba   0x2568
+0xbb   0x2569
+0xbc   0x256a
+0xbd   0x256b
+0xbe   0x256c
+0xbf   0x00a9
+0xc0   0x044e
+0xc1   0x0430
+0xc2   0x0431
+0xc3   0x0446
+0xc4   0x0434
+0xc5   0x0435
+0xc6   0x0444
+0xc7   0x0433
+0xc8   0x0445
+0xc9   0x0438
+0xca   0x0439
+0xcb   0x043a
+0xcc   0x043b
+0xcd   0x043c
+0xce   0x043d
+0xcf   0x043e
+0xd0   0x043f
+0xd1   0x044f
+0xd2   0x0440
+0xd3   0x0441
+0xd4   0x0442
+0xd5   0x0443
+0xd6   0x0436
+0xd7   0x0432
+0xd8   0x044c
+0xd9   0x044b
+0xda   0x0437
+0xdb   0x0448
+0xdc   0x044d
+0xdd   0x0449
+0xde   0x0447
+0xdf   0x044a
+0xe0   0x042e
+0xe1   0x0410
+0xe2   0x0411
+0xe3   0x0426
+0xe4   0x0414
+0xe5   0x0415
+0xe6   0x0424
+0xe7   0x0413
+0xe8   0x0425
+0xe9   0x0418
+0xea   0x0419
+0xeb   0x041a
+0xec   0x041b
+0xed   0x041c
+0xee   0x041d
+0xef   0x041e
+0xf0   0x041f
+0xf1   0x042f
+0xf2   0x0420
+0xf3   0x0421
+0xf4   0x0422
+0xf5   0x0423
+0xf6   0x0416
+0xf7   0x0412
+0xf8   0x042c
+0xf9   0x042b
+0xfa   0x0417
+0xfb   0x0428
+0xfc   0x042d
+0xfd   0x0429
+0xfe   0x0427
+0xff   0x042a

Index: maintain/lib/libintl-perl/tests/02koi8-ru.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02koi8-ru.t
diff -N maintain/lib/libintl-perl/tests/02koi8-ru.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02koi8-ru.t 12 Oct 2011 23:52:09 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'KOI8-RU',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'KOI8-RU',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'KOI8-RU');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'KOI8-RU',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x2500
+0x81   0x2502
+0x82   0x250c
+0x83   0x2510
+0x84   0x2514
+0x85   0x2518
+0x86   0x251c
+0x87   0x2524
+0x88   0x252c
+0x89   0x2534
+0x8a   0x253c
+0x8b   0x2580
+0x8c   0x2584
+0x8d   0x2588
+0x8e   0x258c
+0x8f   0x2590
+0x90   0x2591
+0x91   0x2592
+0x92   0x2593
+0x93   0x2320
+0x94   0x25a0
+0x95   0x2219
+0x96   0x221a
+0x97   0x2248
+0x98   0x2264
+0x99   0x2265
+0x9a   0x00a0
+0x9b   0x2321
+0x9c   0x00b0
+0x9d   0x00b2
+0x9e   0x00b7
+0x9f   0x00f7
+0xa0   0x2550
+0xa1   0x2551
+0xa2   0x2552
+0xa3   0x0451
+0xa4   0x0454
+0xa5   0x2554
+0xa6   0x0456
+0xa7   0x0457
+0xa8   0x2557
+0xa9   0x2558
+0xaa   0x2559
+0xab   0x255a
+0xac   0x255b
+0xad   0x0491
+0xae   0x045e
+0xaf   0x255e
+0xb0   0x255f
+0xb1   0x2560
+0xb2   0x2561
+0xb3   0x0401
+0xb4   0x0404
+0xb5   0x2563
+0xb6   0x0406
+0xb7   0x0407
+0xb8   0x2566
+0xb9   0x2567
+0xba   0x2568
+0xbb   0x2569
+0xbc   0x256a
+0xbd   0x0490
+0xbe   0x040e
+0xbf   0x00a9
+0xc0   0x044e
+0xc1   0x0430
+0xc2   0x0431
+0xc3   0x0446
+0xc4   0x0434
+0xc5   0x0435
+0xc6   0x0444
+0xc7   0x0433
+0xc8   0x0445
+0xc9   0x0438
+0xca   0x0439
+0xcb   0x043a
+0xcc   0x043b
+0xcd   0x043c
+0xce   0x043d
+0xcf   0x043e
+0xd0   0x043f
+0xd1   0x044f
+0xd2   0x0440
+0xd3   0x0441
+0xd4   0x0442
+0xd5   0x0443
+0xd6   0x0436
+0xd7   0x0432
+0xd8   0x044c
+0xd9   0x044b
+0xda   0x0437
+0xdb   0x0448
+0xdc   0x044d
+0xdd   0x0449
+0xde   0x0447
+0xdf   0x044a
+0xe0   0x042e
+0xe1   0x0410
+0xe2   0x0411
+0xe3   0x0426
+0xe4   0x0414
+0xe5   0x0415
+0xe6   0x0424
+0xe7   0x0413
+0xe8   0x0425
+0xe9   0x0418
+0xea   0x0419
+0xeb   0x041a
+0xec   0x041b
+0xed   0x041c
+0xee   0x041d
+0xef   0x041e
+0xf0   0x041f
+0xf1   0x042f
+0xf2   0x0420
+0xf3   0x0421
+0xf4   0x0422
+0xf5   0x0423
+0xf6   0x0416
+0xf7   0x0412
+0xf8   0x042c
+0xf9   0x042b
+0xfa   0x0417
+0xfb   0x0428
+0xfc   0x042d
+0xfd   0x0429
+0xfe   0x0427
+0xff   0x042a

Index: maintain/lib/libintl-perl/tests/02koi8-t.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02koi8-t.t
diff -N maintain/lib/libintl-perl/tests/02koi8-t.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02koi8-t.t  12 Oct 2011 23:52:10 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'KOI8-T',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'KOI8-T',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'KOI8-T');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'KOI8-T',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x049b
+0x81   0x0493
+0x82   0x201a
+0x83   0x0492
+0x84   0x201e
+0x85   0x2026
+0x86   0x2020
+0x87   0x2021
+0x89   0xfffd
+0x89   0x2030
+0x8a   0x04b3
+0x8b   0x2039
+0x8c   0x04b2
+0x8d   0x04b7
+0x8e   0x04b6
+0x90   0xfffd
+0x90   0x049a
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x99   0xfffd
+0x99   0x2122
+0x9b   0xfffd
+0x9b   0x203a
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0xfffd
+0xa1   0x04ef
+0xa2   0x04ee
+0xa3   0x0451
+0xa4   0x00a4
+0xa5   0x04e3
+0xa6   0x00a6
+0xa7   0x00a7
+0xab   0xfffd
+0xab   0xfffd
+0xab   0xfffd
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xb0   0xfffd
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x00b2
+0xb3   0x0401
+0xb5   0xfffd
+0xb5   0x04e2
+0xb6   0x00b6
+0xb7   0x00b7
+0xb9   0xfffd
+0xb9   0x2116
+0xbb   0xfffd
+0xbb   0x00bb
+0xbf   0xfffd
+0xbf   0xfffd
+0xbf   0xfffd
+0xbf   0x00a9
+0xc0   0x044e
+0xc1   0x0430
+0xc2   0x0431
+0xc3   0x0446
+0xc4   0x0434
+0xc5   0x0435
+0xc6   0x0444
+0xc7   0x0433
+0xc8   0x0445
+0xc9   0x0438
+0xca   0x0439
+0xcb   0x043a
+0xcc   0x043b
+0xcd   0x043c
+0xce   0x043d
+0xcf   0x043e
+0xd0   0x043f
+0xd1   0x044f
+0xd2   0x0440
+0xd3   0x0441
+0xd4   0x0442
+0xd5   0x0443
+0xd6   0x0436
+0xd7   0x0432
+0xd8   0x044c
+0xd9   0x044b
+0xda   0x0437
+0xdb   0x0448
+0xdc   0x044d
+0xdd   0x0449
+0xde   0x0447
+0xdf   0x044a
+0xe0   0x042e
+0xe1   0x0410
+0xe2   0x0411
+0xe3   0x0426
+0xe4   0x0414
+0xe5   0x0415
+0xe6   0x0424
+0xe7   0x0413
+0xe8   0x0425
+0xe9   0x0418
+0xea   0x0419
+0xeb   0x041a
+0xec   0x041b
+0xed   0x041c
+0xee   0x041d
+0xef   0x041e
+0xf0   0x041f
+0xf1   0x042f
+0xf2   0x0420
+0xf3   0x0421
+0xf4   0x0422
+0xf5   0x0423
+0xf6   0x0416
+0xf7   0x0412
+0xf8   0x042c
+0xf9   0x042b
+0xfa   0x0417
+0xfb   0x0428
+0xfc   0x042d
+0xfd   0x0429
+0xfe   0x0427
+0xff   0x042a

Index: maintain/lib/libintl-perl/tests/02koi8-u.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02koi8-u.t
diff -N maintain/lib/libintl-perl/tests/02koi8-u.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02koi8-u.t  12 Oct 2011 23:52:10 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'KOI8-U',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'KOI8-U',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'KOI8-U');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'KOI8-U',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x2500
+0x81   0x2502
+0x82   0x250c
+0x83   0x2510
+0x84   0x2514
+0x85   0x2518
+0x86   0x251c
+0x87   0x2524
+0x88   0x252c
+0x89   0x2534
+0x8a   0x253c
+0x8b   0x2580
+0x8c   0x2584
+0x8d   0x2588
+0x8e   0x258c
+0x8f   0x2590
+0x90   0x2591
+0x91   0x2592
+0x92   0x2593
+0x93   0x2320
+0x94   0x25a0
+0x95   0x2219
+0x96   0x221a
+0x97   0x2248
+0x98   0x2264
+0x99   0x2265
+0x9a   0x00a0
+0x9b   0x2321
+0x9c   0x00b0
+0x9d   0x00b2
+0x9e   0x00b7
+0x9f   0x00f7
+0xa0   0x2550
+0xa1   0x2551
+0xa2   0x2552
+0xa3   0x0451
+0xa4   0x0454
+0xa5   0x2554
+0xa6   0x0456
+0xa7   0x0457
+0xa8   0x2557
+0xa9   0x2558
+0xaa   0x2559
+0xab   0x255a
+0xac   0x255b
+0xad   0x0491
+0xae   0x255d
+0xaf   0x255e
+0xb0   0x255f
+0xb1   0x2560
+0xb2   0x2561
+0xb3   0x0401
+0xb4   0x0404
+0xb5   0x2563
+0xb6   0x0406
+0xb7   0x0407
+0xb8   0x2566
+0xb9   0x2567
+0xba   0x2568
+0xbb   0x2569
+0xbc   0x256a
+0xbd   0x0490
+0xbe   0x256c
+0xbf   0x00a9
+0xc0   0x044e
+0xc1   0x0430
+0xc2   0x0431
+0xc3   0x0446
+0xc4   0x0434
+0xc5   0x0435
+0xc6   0x0444
+0xc7   0x0433
+0xc8   0x0445
+0xc9   0x0438
+0xca   0x0439
+0xcb   0x043a
+0xcc   0x043b
+0xcd   0x043c
+0xce   0x043d
+0xcf   0x043e
+0xd0   0x043f
+0xd1   0x044f
+0xd2   0x0440
+0xd3   0x0441
+0xd4   0x0442
+0xd5   0x0443
+0xd6   0x0436
+0xd7   0x0432
+0xd8   0x044c
+0xd9   0x044b
+0xda   0x0437
+0xdb   0x0448
+0xdc   0x044d
+0xdd   0x0449
+0xde   0x0447
+0xdf   0x044a
+0xe0   0x042e
+0xe1   0x0410
+0xe2   0x0411
+0xe3   0x0426
+0xe4   0x0414
+0xe5   0x0415
+0xe6   0x0424
+0xe7   0x0413
+0xe8   0x0425
+0xe9   0x0418
+0xea   0x0419
+0xeb   0x041a
+0xec   0x041b
+0xed   0x041c
+0xee   0x041d
+0xef   0x041e
+0xf0   0x041f
+0xf1   0x042f
+0xf2   0x0420
+0xf3   0x0421
+0xf4   0x0422
+0xf5   0x0423
+0xf6   0x0416
+0xf7   0x0412
+0xf8   0x042c
+0xf9   0x042b
+0xfa   0x0417
+0xfb   0x0428
+0xfc   0x042d
+0xfd   0x0429
+0xfe   0x0427
+0xff   0x042a

Index: maintain/lib/libintl-perl/tests/02latin-greek-1.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02latin-greek-1.t
diff -N maintain/lib/libintl-perl/tests/02latin-greek-1.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02latin-greek-1.t   12 Oct 2011 23:52:10 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'LATIN-GREEK-1',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'LATIN-GREEK-1',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'LATIN-GREEK-1');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'LATIN-GREEK-1',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x039e
+0x22   0x0022
+0x23   0x0393
+0x24   0x00a4
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x03a8
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x03a0
+0x40   0x0394
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x03a9
+0x5c   0x0398
+0x5d   0x03a6
+0x5e   0x039b
+0x5f   0x03a3
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x203e
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02latin-greek.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02latin-greek.t
diff -N maintain/lib/libintl-perl/tests/02latin-greek.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02latin-greek.t     12 Oct 2011 23:52:10 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'LATIN-GREEK',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'LATIN-GREEK',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'LATIN-GREEK');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'LATIN-GREEK',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x00a3
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0391
+0x62   0x0392
+0x63   0x03a8
+0x64   0x0394
+0x65   0x0395
+0x66   0x03a6
+0x67   0x0393
+0x68   0x0397
+0x69   0x0399
+0x6a   0x039e
+0x6b   0x039a
+0x6c   0x039b
+0x6d   0x039c
+0x6e   0x039d
+0x6f   0x039f
+0x70   0x03a0
+0x72   0xfffd
+0x72   0x03a1
+0x73   0x03a3
+0x74   0x03a4
+0x75   0x0398
+0x76   0x03a9
+0x77   0x00b7
+0x78   0x03a7
+0x79   0x03a5
+0x7a   0x0396
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x00a8
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02mac-is.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02mac-is.t
diff -N maintain/lib/libintl-perl/tests/02mac-is.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02mac-is.t  12 Oct 2011 23:52:10 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MAC-IS',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MAC-IS',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MAC-IS');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MAC-IS',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00c5
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x00b4
+0xac   0x00a8
+0xad   0x2260
+0xae   0x00c6
+0xaf   0x00d8
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x00a5
+0xb5   0x00b5
+0xb6   0x2202
+0xb7   0x2211
+0xb8   0x220f
+0xb9   0x03c0
+0xba   0x222b
+0xbb   0x00aa
+0xbc   0x00ba
+0xbd   0x03a9
+0xbe   0x00e6
+0xbf   0x00f8
+0xc0   0x00bf
+0xc1   0x00a1
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x0394
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x00c0
+0xcc   0x00c3
+0xcd   0x00d5
+0xce   0x0152
+0xcf   0x0153
+0xd0   0x2014
+0xd1   0x2013
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x25c6
+0xd8   0x00ff
+0xd9   0x0178
+0xda   0x2044
+0xdb   0x00a4
+0xdc   0x0110
+0xdd   0x0111
+0xde   0x00de
+0xdf   0x00fe
+0xe0   0x2021
+0xe1   0x00b7
+0xe2   0x201a
+0xe3   0x201e
+0xe4   0x2030
+0xe5   0x00c2
+0xe6   0x00ca
+0xe7   0x00c1
+0xe8   0x00cb
+0xe9   0x00c8
+0xea   0x00cd
+0xeb   0x00ce
+0xec   0x00cf
+0xed   0x00cc
+0xee   0x00d3
+0xef   0x00d4
+0xf0   0xe01e
+0xf1   0x00d2
+0xf2   0x00da
+0xf3   0x00db
+0xf4   0x00d9
+0xf5   0x0131
+0xf8   0xfffd
+0xf8   0xfffd
+0xf8   0x00af
+0xf9   0x02d8
+0xfa   0x02d9
+0xfb   0x02da
+0xfc   0x00b8
+0xfd   0x02dd
+0xfe   0x02db
+0xff   0x02c7

Index: maintain/lib/libintl-perl/tests/02mac-sami.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02mac-sami.t
diff -N maintain/lib/libintl-perl/tests/02mac-sami.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02mac-sami.t        12 Oct 2011 23:52:11 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MAC-SAMI',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MAC-SAMI',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MAC-SAMI');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MAC-SAMI',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00c5
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x00dd
+0xa1   0x00b0
+0xa2   0x010c
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x00b4
+0xac   0x00a8
+0xad   0x2260
+0xae   0x00c6
+0xaf   0x00d8
+0xb0   0x0110
+0xb1   0x014a
+0xb2   0x821e
+0xb3   0x821f
+0xb4   0x0160
+0xb5   0x0166
+0xb6   0x2202
+0xb7   0x017d
+0xb8   0x010d
+0xb9   0x0111
+0xba   0x014b
+0xbb   0x0161
+0xbc   0x0167
+0xbd   0x017e
+0xbe   0x00e6
+0xbf   0x00f8
+0xc0   0x00bf
+0xc1   0x00a1
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x00c0
+0xcc   0x00c3
+0xcd   0x00d5
+0xce   0x0152
+0xcf   0x0153
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x25ca
+0xd8   0x00ff
+0xd9   0x0178
+0xda   0x2044
+0xdb   0x00a4
+0xdc   0x00d0
+0xdd   0x00f0
+0xde   0x00de
+0xdf   0x00fe
+0xe0   0x00fd
+0xe1   0x00b7
+0xe2   0x201a
+0xe3   0x201e
+0xe4   0x2030
+0xe5   0x00c2
+0xe6   0x00ca
+0xe7   0x00c1
+0xe8   0x00cb
+0xe9   0x00c8
+0xea   0x00cd
+0xeb   0x00ce
+0xec   0x00cf
+0xed   0x00cc
+0xee   0x00d3
+0xef   0x00d4
+0xf0   0xf8ff
+0xf1   0x00d2
+0xf2   0x00da
+0xf3   0x00db
+0xf4   0x00d9
+0xf5   0x0131
+0xf6   0x01b7
+0xf7   0x0292
+0xf8   0x01ee
+0xf9   0x01ef
+0xfa   0x01e4
+0xfb   0x01e5
+0xfc   0x01e6
+0xfd   0x01e7
+0xfe   0x01e8
+0xff   0x01e9

Index: maintain/lib/libintl-perl/tests/02mac-uk.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02mac-uk.t
diff -N maintain/lib/libintl-perl/tests/02mac-uk.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02mac-uk.t  12 Oct 2011 23:52:11 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MAC-UK',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MAC-UK',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MAC-UK');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MAC-UK',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0410
+0x81   0x0411
+0x82   0x0412
+0x83   0x0413
+0x84   0x0414
+0x85   0x0415
+0x86   0x0416
+0x87   0x0417
+0x88   0x0418
+0x89   0x0419
+0x8a   0x041a
+0x8b   0x041b
+0x8c   0x041c
+0x8d   0x041d
+0x8e   0x041e
+0x8f   0x041f
+0x90   0x0420
+0x91   0x0421
+0x92   0x0422
+0x93   0x0423
+0x94   0x0424
+0x95   0x0425
+0x96   0x0426
+0x97   0x0427
+0x98   0x0428
+0x99   0x0429
+0x9a   0x042a
+0x9b   0x042b
+0x9c   0x042c
+0x9d   0x042d
+0x9e   0x042e
+0x9f   0x042f
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x0490
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x0406
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x0402
+0xac   0x0452
+0xad   0x2260
+0xae   0x0403
+0xaf   0x0453
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x0456
+0xb5   0x00b5
+0xb6   0x0491
+0xb7   0x0408
+0xb8   0x0404
+0xb9   0x0454
+0xba   0x0407
+0xbb   0x0457
+0xbc   0x0409
+0xbd   0x0459
+0xbe   0x040a
+0xbf   0x045a
+0xc0   0x0458
+0xc1   0x0405
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x040b
+0xcc   0x045b
+0xcd   0x040c
+0xce   0x045c
+0xcf   0x0455
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x201e
+0xd8   0x040e
+0xd9   0x045e
+0xda   0x040f
+0xdb   0x045f
+0xdc   0x2116
+0xdd   0x0401
+0xde   0x0451
+0xdf   0x044f
+0xe0   0x0430
+0xe1   0x0431
+0xe2   0x0432
+0xe3   0x0433
+0xe4   0x0434
+0xe5   0x0435
+0xe6   0x0436
+0xe7   0x0437
+0xe8   0x0438
+0xe9   0x0439
+0xea   0x043a
+0xeb   0x043b
+0xec   0x043c
+0xed   0x043d
+0xee   0x043e
+0xef   0x043f
+0xf0   0x0440
+0xf1   0x0441
+0xf2   0x0442
+0xf3   0x0443
+0xf4   0x0444
+0xf5   0x0445
+0xf6   0x0446
+0xf7   0x0447
+0xf8   0x0448
+0xf9   0x0449
+0xfa   0x044a
+0xfb   0x044b
+0xfc   0x044c
+0xfd   0x044d
+0xfe   0x044e
+0xff   0x00a4

Index: maintain/lib/libintl-perl/tests/02macarabic.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02macarabic.t
diff -N maintain/lib/libintl-perl/tests/02macarabic.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02macarabic.t       12 Oct 2011 23:52:11 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACARABIC',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACARABIC',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACARABIC');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACARABIC',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00a0
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x06ba
+0x8c   0x00ab
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x2026
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00bb
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f7
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa5   0xfffd
+0xa5   0xfffd
+0xa5   0xfffd
+0xa5   0xfffd
+0xa5   0xfffd
+0xa5   0x066a
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0xfffd
+0xac   0x060c
+0xb0   0xfffd
+0xb0   0xfffd
+0xb0   0xfffd
+0xb0   0x0660
+0xb1   0x0661
+0xb2   0x0662
+0xb3   0x0663
+0xb4   0x0664
+0xb5   0x0665
+0xb6   0x0666
+0xb7   0x0667
+0xb8   0x0668
+0xb9   0x0669
+0xbb   0xfffd
+0xbb   0x061b
+0xbf   0xfffd
+0xbf   0xfffd
+0xbf   0xfffd
+0xbf   0x061f
+0xc0   0x066d
+0xc1   0x0621
+0xc2   0x0622
+0xc3   0x0623
+0xc4   0x0624
+0xc5   0x0625
+0xc6   0x0626
+0xc7   0x0627
+0xc8   0x0628
+0xc9   0x0629
+0xca   0x062a
+0xcb   0x062b
+0xcc   0x062c
+0xcd   0x062d
+0xce   0x062e
+0xcf   0x062f
+0xd0   0x0630
+0xd1   0x0631
+0xd2   0x0632
+0xd3   0x0633
+0xd4   0x0634
+0xd5   0x0635
+0xd6   0x0636
+0xd7   0x0637
+0xd8   0x0638
+0xd9   0x0639
+0xda   0x063a
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0xfffd
+0xe0   0x0640
+0xe1   0x0641
+0xe2   0x0642
+0xe3   0x0643
+0xe4   0x0644
+0xe5   0x0645
+0xe6   0x0646
+0xe7   0x0647
+0xe8   0x0648
+0xe9   0x0649
+0xea   0x064a
+0xeb   0x064b
+0xec   0x064c
+0xed   0x064d
+0xee   0x064e
+0xef   0x064f
+0xf0   0x0650
+0xf1   0x0651
+0xf2   0x0652
+0xf3   0x067e
+0xf4   0x0679
+0xf5   0x0686
+0xf6   0x06d5
+0xf7   0x06a4
+0xf8   0x06af
+0xf9   0x0688
+0xfa   0x0691
+0xfe   0xfffd
+0xfe   0xfffd
+0xfe   0xfffd
+0xfe   0x0698
+0xff   0x06d2

Index: maintain/lib/libintl-perl/tests/02maccroatian.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02maccroatian.t
diff -N maintain/lib/libintl-perl/tests/02maccroatian.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02maccroatian.t     12 Oct 2011 23:52:11 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACCROATIAN',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACCROATIAN',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACCROATIAN');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACCROATIAN',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00c5
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x0160
+0xaa   0x2122
+0xab   0x00b4
+0xac   0x00a8
+0xad   0x2260
+0xae   0x017d
+0xaf   0x00d8
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x2206
+0xb5   0x00b5
+0xb6   0x2202
+0xb7   0x2211
+0xb8   0x220f
+0xb9   0x0161
+0xba   0x222b
+0xbb   0x00aa
+0xbc   0x00ba
+0xbd   0x2126
+0xbe   0x017e
+0xbf   0x00f8
+0xc0   0x00bf
+0xc1   0x00a1
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x0106
+0xc7   0x00ab
+0xc8   0x010c
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x00c0
+0xcc   0x00c3
+0xcd   0x00d5
+0xce   0x0152
+0xcf   0x0153
+0xd0   0x0110
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x25ca
+0xd9   0xfffd
+0xd9   0x00a9
+0xda   0x2044
+0xdb   0x00a4
+0xdc   0x2039
+0xdd   0x203a
+0xde   0x00c6
+0xdf   0x00bb
+0xe0   0x2013
+0xe1   0x00b7
+0xe2   0x201a
+0xe3   0x201e
+0xe4   0x2030
+0xe5   0x00c2
+0xe6   0x0107
+0xe7   0x00c1
+0xe8   0x010d
+0xe9   0x00c8
+0xea   0x00cd
+0xeb   0x00ce
+0xec   0x00cf
+0xed   0x00cc
+0xee   0x00d3
+0xef   0x00d4
+0xf0   0x0111
+0xf1   0x00d2
+0xf2   0x00da
+0xf3   0x00db
+0xf4   0x00d9
+0xf5   0x0131
+0xf6   0x02c6
+0xf7   0x02dc
+0xf8   0x00af
+0xf9   0x03c0
+0xfa   0x00cb
+0xfb   0x02da
+0xfc   0x00b8
+0xfd   0x00ca
+0xfe   0x00e6
+0xff   0x02c7

Index: maintain/lib/libintl-perl/tests/02maccyrillic.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02maccyrillic.t
diff -N maintain/lib/libintl-perl/tests/02maccyrillic.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02maccyrillic.t     12 Oct 2011 23:52:12 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACCYRILLIC',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACCYRILLIC',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACCYRILLIC');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACCYRILLIC',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0410
+0x81   0x0411
+0x82   0x0412
+0x83   0x0413
+0x84   0x0414
+0x85   0x0415
+0x86   0x0416
+0x87   0x0417
+0x88   0x0418
+0x89   0x0419
+0x8a   0x041a
+0x8b   0x041b
+0x8c   0x041c
+0x8d   0x041d
+0x8e   0x041e
+0x8f   0x041f
+0x90   0x0420
+0x91   0x0421
+0x92   0x0422
+0x93   0x0423
+0x94   0x0424
+0x95   0x0425
+0x96   0x0426
+0x97   0x0427
+0x98   0x0428
+0x99   0x0429
+0x9a   0x042a
+0x9b   0x042b
+0x9c   0x042c
+0x9d   0x042d
+0x9e   0x042e
+0x9f   0x042f
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x0406
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x0402
+0xac   0x0452
+0xad   0x2260
+0xae   0x0403
+0xaf   0x0453
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x0456
+0xb5   0x00b5
+0xb6   0x2202
+0xb7   0x0408
+0xb8   0x0404
+0xb9   0x0454
+0xba   0x0407
+0xbb   0x0457
+0xbc   0x0409
+0xbd   0x0459
+0xbe   0x040a
+0xbf   0x045a
+0xc0   0x0458
+0xc1   0x0405
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x040b
+0xcc   0x045b
+0xcd   0x040c
+0xce   0x045c
+0xcf   0x0455
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x201e
+0xd8   0x040e
+0xd9   0x045e
+0xda   0x040f
+0xdb   0x045f
+0xdc   0x2116
+0xdd   0x0401
+0xde   0x0451
+0xdf   0x044f
+0xe0   0x0430
+0xe1   0x0431
+0xe2   0x0432
+0xe3   0x0433
+0xe4   0x0434
+0xe5   0x0435
+0xe6   0x0436
+0xe7   0x0437
+0xe8   0x0438
+0xe9   0x0439
+0xea   0x043a
+0xeb   0x043b
+0xec   0x043c
+0xed   0x043d
+0xee   0x043e
+0xef   0x043f
+0xf0   0x0440
+0xf1   0x0441
+0xf2   0x0442
+0xf3   0x0443
+0xf4   0x0444
+0xf5   0x0445
+0xf6   0x0446
+0xf7   0x0447
+0xf8   0x0448
+0xf9   0x0449
+0xfa   0x044a
+0xfb   0x044b
+0xfc   0x044c
+0xfd   0x044d
+0xfe   0x044e
+0xff   0x00a4

Index: maintain/lib/libintl-perl/tests/02macgreek.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02macgreek.t
diff -N maintain/lib/libintl-perl/tests/02macgreek.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02macgreek.t        12 Oct 2011 23:52:12 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACGREEK',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACGREEK',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACGREEK');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACGREEK',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00b9
+0x82   0x00b2
+0x83   0x00c9
+0x84   0x00b3
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x0385
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x0384
+0x8c   0x00a8
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00a3
+0x93   0x2122
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x2022
+0x97   0x00bd
+0x98   0x2030
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00a6
+0x9c   0x00ad
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x2020
+0xa1   0x0393
+0xa2   0x0394
+0xa3   0x0398
+0xa4   0x039b
+0xa5   0x039e
+0xa6   0x03a0
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x03a3
+0xab   0x03aa
+0xac   0x00a7
+0xad   0x2260
+0xae   0x00b0
+0xaf   0x0387
+0xb0   0x0391
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x00a5
+0xb5   0x0392
+0xb6   0x0395
+0xb7   0x0396
+0xb8   0x0397
+0xb9   0x0399
+0xba   0x039a
+0xbb   0x039c
+0xbc   0x03a6
+0xbd   0x03ab
+0xbe   0x03a8
+0xbf   0x03a9
+0xc0   0x03ac
+0xc1   0x039d
+0xc2   0x00ac
+0xc3   0x039f
+0xc4   0x03a1
+0xc5   0x2248
+0xc6   0x03a4
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x03a5
+0xcc   0x03a7
+0xcd   0x0386
+0xce   0x0388
+0xcf   0x0153
+0xd0   0x2013
+0xd1   0x2015
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x0389
+0xd8   0x038a
+0xd9   0x038c
+0xda   0x038e
+0xdb   0x03ad
+0xdc   0x03ae
+0xdd   0x03af
+0xde   0x03cc
+0xdf   0x038f
+0xe0   0x03cd
+0xe1   0x03b1
+0xe2   0x03b2
+0xe3   0x03c8
+0xe4   0x03b4
+0xe5   0x03b5
+0xe6   0x03c6
+0xe7   0x03b3
+0xe8   0x03b7
+0xe9   0x03b9
+0xea   0x03be
+0xeb   0x03ba
+0xec   0x03bb
+0xed   0x03bc
+0xee   0x03bd
+0xef   0x03bf
+0xf0   0x03c0
+0xf1   0x03ce
+0xf2   0x03c1
+0xf3   0x03c3
+0xf4   0x03c4
+0xf5   0x03b8
+0xf6   0x03c9
+0xf7   0x03c2
+0xf8   0x03c7
+0xf9   0x03c5
+0xfa   0x03b6
+0xfb   0x03ca
+0xfc   0x03cb
+0xfd   0x0390
+0xfe   0x03b0
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02machebrew.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02machebrew.t
diff -N maintain/lib/libintl-perl/tests/02machebrew.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02machebrew.t       12 Oct 2011 23:52:12 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACHEBREW',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACHEBREW',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACHEBREW');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACHEBREW',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0xfb1f
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa6   0xfffd
+0xa6   0xfffd
+0xa6   0xfffd
+0xa6   0xfffd
+0xa6   0xfffd
+0xa6   0xfffd
+0xa6   0x20aa
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0xfffd
+0xc1   0x201e
+0xc6   0xfffd
+0xc6   0xfffd
+0xc6   0xfffd
+0xc6   0xfffd
+0xc6   0x05bc
+0xc7   0xfb4b
+0xc8   0xfb35
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x05b8
+0xcc   0x05b7
+0xcd   0x05b5
+0xce   0x05b6
+0xcf   0x05b4
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0xfb2a
+0xd7   0xfb2b
+0xd8   0x05bf
+0xd9   0x05b0
+0xda   0x05b2
+0xdb   0x05b1
+0xdc   0x05bb
+0xdd   0x05b9
+0xdf   0xfffd
+0xdf   0x05b3
+0xe0   0x05d0
+0xe1   0x05d1
+0xe2   0x05d2
+0xe3   0x05d3
+0xe4   0x05d4
+0xe5   0x05d5
+0xe6   0x05d6
+0xe7   0x05d7
+0xe8   0x05d8
+0xe9   0x05d9
+0xea   0x05da
+0xeb   0x05db
+0xec   0x05dc
+0xed   0x05dd
+0xee   0x05de
+0xef   0x05df
+0xf0   0x05e0
+0xf1   0x05e1
+0xf2   0x05e2
+0xf3   0x05e3
+0xf4   0x05e4
+0xf5   0x05e5
+0xf6   0x05e6
+0xf7   0x05e7
+0xf8   0x05e8
+0xf9   0x05e9
+0xfa   0x05ea
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02maciceland.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02maciceland.t
diff -N maintain/lib/libintl-perl/tests/02maciceland.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02maciceland.t      12 Oct 2011 23:52:12 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACICELAND',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACICELAND',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACICELAND');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACICELAND',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00c5
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x00dd
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x00b4
+0xac   0x00a8
+0xad   0x2260
+0xae   0x00c6
+0xaf   0x00d8
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x00a5
+0xb5   0x00b5
+0xb6   0x2202
+0xb7   0x2211
+0xb8   0x220f
+0xb9   0x03c0
+0xba   0x222b
+0xbb   0x00aa
+0xbc   0x00ba
+0xbd   0x2126
+0xbe   0x00e6
+0xbf   0x00f8
+0xc0   0x00bf
+0xc1   0x00a1
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x00c0
+0xcc   0x00c3
+0xcd   0x00d5
+0xce   0x0152
+0xcf   0x0153
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x25ca
+0xd8   0x00ff
+0xd9   0x0178
+0xda   0x2044
+0xdb   0x00a4
+0xdc   0x00d0
+0xdd   0x00f0
+0xde   0x00de
+0xdf   0x00fe
+0xe0   0x00fd
+0xe1   0x00b7
+0xe2   0x201a
+0xe3   0x201e
+0xe4   0x2030
+0xe5   0x00c2
+0xe6   0x00ca
+0xe7   0x00c1
+0xe8   0x00cb
+0xe9   0x00c8
+0xea   0x00cd
+0xeb   0x00ce
+0xec   0x00cf
+0xed   0x00cc
+0xee   0x00d3
+0xef   0x00d4
+0xf1   0xfffd
+0xf1   0x00d2
+0xf2   0x00da
+0xf3   0x00db
+0xf4   0x00d9
+0xf5   0x0131
+0xf6   0x02c6
+0xf7   0x02dc
+0xf8   0x00af
+0xf9   0x02d8
+0xfa   0x02d9
+0xfb   0x02da
+0xfc   0x00b8
+0xfd   0x02dd
+0xfe   0x02db
+0xff   0x02c7

Index: maintain/lib/libintl-perl/tests/02macintosh.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02macintosh.t
diff -N maintain/lib/libintl-perl/tests/02macintosh.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02macintosh.t       12 Oct 2011 23:52:12 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACINTOSH',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACINTOSH',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACINTOSH');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACINTOSH',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00c5
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x00b4
+0xac   0x00a8
+0xad   0x2260
+0xae   0x00c6
+0xaf   0x00d8
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x00a5
+0xb5   0x00b5
+0xb6   0x2202
+0xb7   0x2211
+0xb8   0x220f
+0xb9   0x03c0
+0xba   0x222b
+0xbb   0x00aa
+0xbc   0x00ba
+0xbd   0x03a9
+0xbe   0x00e6
+0xbf   0x00f8
+0xc0   0x00bf
+0xc1   0x00a1
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x0394
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x00c0
+0xcc   0x00c3
+0xcd   0x00d5
+0xce   0x0152
+0xcf   0x0153
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x25ca
+0xd8   0x00ff
+0xd9   0x0178
+0xda   0x2044
+0xdb   0x20ac
+0xdc   0x2039
+0xdd   0x203a
+0xde   0xfb01
+0xdf   0xfb02
+0xe0   0x2021
+0xe1   0x00b7
+0xe2   0x201a
+0xe3   0x201e
+0xe4   0x2030
+0xe5   0x00c2
+0xe6   0x00ca
+0xe7   0x00c1
+0xe8   0x00cb
+0xe9   0x00c8
+0xea   0x00cd
+0xeb   0x00ce
+0xec   0x00cf
+0xed   0x00cc
+0xee   0x00d3
+0xef   0x00d4
+0xf0   0xe01e
+0xf1   0x00d2
+0xf2   0x00da
+0xf3   0x00db
+0xf4   0x00d9
+0xf5   0x0131
+0xf6   0x02c6
+0xf7   0x02dc
+0xf8   0x00af
+0xf9   0x02d8
+0xfa   0x02d9
+0xfb   0x02da
+0xfc   0x00b8
+0xfd   0x02dd
+0xfe   0x02db
+0xff   0x02c7

Index: maintain/lib/libintl-perl/tests/02macromania.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02macromania.t
diff -N maintain/lib/libintl-perl/tests/02macromania.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02macromania.t      12 Oct 2011 23:52:12 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACROMANIA',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACROMANIA',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACROMANIA');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACROMANIA',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00c5
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x00b4
+0xac   0x00a8
+0xad   0x2260
+0xae   0x0102
+0xaf   0x015e
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x00a5
+0xb5   0x00b5
+0xb6   0x2202
+0xb7   0x2211
+0xb8   0x220f
+0xb9   0x03c0
+0xba   0x222b
+0xbb   0x00aa
+0xbc   0x00ba
+0xbd   0x2126
+0xbe   0x0103
+0xbf   0x015f
+0xc0   0x00bf
+0xc1   0x00a1
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x00c0
+0xcc   0x00c3
+0xcd   0x00d5
+0xce   0x0152
+0xcf   0x0153
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x25ca
+0xd8   0x00ff
+0xd9   0x0178
+0xda   0x2044
+0xdb   0x00a4
+0xdc   0x2039
+0xdd   0x203a
+0xde   0x0162
+0xdf   0x0163
+0xe0   0x2021
+0xe1   0x00b7
+0xe2   0x201a
+0xe3   0x201e
+0xe4   0x2030
+0xe5   0x00c2
+0xe6   0x00ca
+0xe7   0x00c1
+0xe8   0x00cb
+0xe9   0x00c8
+0xea   0x00cd
+0xeb   0x00ce
+0xec   0x00cf
+0xed   0x00cc
+0xee   0x00d3
+0xef   0x00d4
+0xf1   0xfffd
+0xf1   0x00d2
+0xf2   0x00da
+0xf3   0x00db
+0xf4   0x00d9
+0xf5   0x0131
+0xf6   0x02c6
+0xf7   0x02dc
+0xf8   0x00af
+0xf9   0x02d8
+0xfa   0x02d9
+0xfb   0x02da
+0xfc   0x00b8
+0xfd   0x02dd
+0xfe   0x02db
+0xff   0x02c7

Index: maintain/lib/libintl-perl/tests/02macthai.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02macthai.t
diff -N maintain/lib/libintl-perl/tests/02macthai.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02macthai.t 12 Oct 2011 23:52:12 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACTHAI',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACTHAI',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACTHAI');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACTHAI',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00ab
+0x81   0x00bb
+0x82   0x2026
+0x83   0xf88c
+0x84   0xf88f
+0x85   0xf892
+0x86   0xf895
+0x87   0xf898
+0x88   0xf88b
+0x89   0xf88e
+0x8a   0xf891
+0x8b   0xf894
+0x8c   0xf897
+0x8d   0x201c
+0x8e   0x201d
+0x8f   0xf899
+0x91   0xfffd
+0x91   0x2022
+0x92   0xf884
+0x93   0xf889
+0x94   0xf885
+0x95   0xf886
+0x96   0xf887
+0x97   0xf888
+0x98   0xf88a
+0x99   0xf88d
+0x9a   0xf890
+0x9b   0xf893
+0x9c   0xf896
+0x9d   0x2018
+0x9e   0x2019
+0xa0   0xfffd
+0xa0   0x00a0
+0xa1   0x0e01
+0xa2   0x0e02
+0xa3   0x0e03
+0xa4   0x0e04
+0xa5   0x0e05
+0xa6   0x0e06
+0xa7   0x0e07
+0xa8   0x0e08
+0xa9   0x0e09
+0xaa   0x0e0a
+0xab   0x0e0b
+0xac   0x0e0c
+0xad   0x0e0d
+0xae   0x0e0e
+0xaf   0x0e0f
+0xb0   0x0e10
+0xb1   0x0e11
+0xb2   0x0e12
+0xb3   0x0e13
+0xb4   0x0e14
+0xb5   0x0e15
+0xb6   0x0e16
+0xb7   0x0e17
+0xb8   0x0e18
+0xb9   0x0e19
+0xba   0x0e1a
+0xbb   0x0e1b
+0xbc   0x0e1c
+0xbd   0x0e1d
+0xbe   0x0e1e
+0xbf   0x0e1f
+0xc0   0x0e20
+0xc1   0x0e21
+0xc2   0x0e22
+0xc3   0x0e23
+0xc4   0x0e24
+0xc5   0x0e25
+0xc6   0x0e26
+0xc7   0x0e27
+0xc8   0x0e28
+0xc9   0x0e29
+0xca   0x0e2a
+0xcb   0x0e2b
+0xcc   0x0e2c
+0xcd   0x0e2d
+0xce   0x0e2e
+0xcf   0x0e2f
+0xd0   0x0e30
+0xd1   0x0e31
+0xd2   0x0e32
+0xd3   0x0e33
+0xd4   0x0e34
+0xd5   0x0e35
+0xd6   0x0e36
+0xd7   0x0e37
+0xd8   0x0e38
+0xd9   0x0e39
+0xda   0x0e3a
+0xdb   0xfeff
+0xdc   0x200b
+0xdd   0x2013
+0xde   0x2014
+0xdf   0x0e3f
+0xe0   0x0e40
+0xe1   0x0e41
+0xe2   0x0e42
+0xe3   0x0e43
+0xe4   0x0e44
+0xe5   0x0e45
+0xe6   0x0e46
+0xe7   0x0e47
+0xe8   0x0e48
+0xe9   0x0e49
+0xea   0x0e4a
+0xeb   0x0e4b
+0xec   0x0e4c
+0xed   0x0e4d
+0xee   0x2122
+0xef   0x0e4f
+0xf0   0x0e50
+0xf1   0x0e51
+0xf2   0x0e52
+0xf3   0x0e53
+0xf4   0x0e54
+0xf5   0x0e55
+0xf6   0x0e56
+0xf7   0x0e57
+0xf8   0x0e58
+0xf9   0x0e59
+0xfa   0x00ae
+0xfb   0x00a9
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02macturkish.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02macturkish.t
diff -N maintain/lib/libintl-perl/tests/02macturkish.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02macturkish.t      12 Oct 2011 23:52:12 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACTURKISH',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACTURKISH',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACTURKISH');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACTURKISH',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00c4
+0x81   0x00c5
+0x82   0x00c7
+0x83   0x00c9
+0x84   0x00d1
+0x85   0x00d6
+0x86   0x00dc
+0x87   0x00e1
+0x88   0x00e0
+0x89   0x00e2
+0x8a   0x00e4
+0x8b   0x00e3
+0x8c   0x00e5
+0x8d   0x00e7
+0x8e   0x00e9
+0x8f   0x00e8
+0x90   0x00ea
+0x91   0x00eb
+0x92   0x00ed
+0x93   0x00ec
+0x94   0x00ee
+0x95   0x00ef
+0x96   0x00f1
+0x97   0x00f3
+0x98   0x00f2
+0x99   0x00f4
+0x9a   0x00f6
+0x9b   0x00f5
+0x9c   0x00fa
+0x9d   0x00f9
+0x9e   0x00fb
+0x9f   0x00fc
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x00df
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x00b4
+0xac   0x00a8
+0xad   0x2260
+0xae   0x00c6
+0xaf   0x00d8
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x00a5
+0xb5   0x00b5
+0xb6   0x2202
+0xb7   0x2211
+0xb8   0x220f
+0xb9   0x03c0
+0xba   0x222b
+0xbb   0x00aa
+0xbc   0x00ba
+0xbd   0x2126
+0xbe   0x00e6
+0xbf   0x00f8
+0xc0   0x00bf
+0xc1   0x00a1
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x00c0
+0xcc   0x00c3
+0xcd   0x00d5
+0xce   0x0152
+0xcf   0x0153
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x25ca
+0xd8   0x00ff
+0xd9   0x0178
+0xda   0x011e
+0xdb   0x011f
+0xdc   0x0130
+0xdd   0x0131
+0xde   0x015e
+0xdf   0x015f
+0xe0   0x2021
+0xe1   0x00b7
+0xe2   0x201a
+0xe3   0x201e
+0xe4   0x2030
+0xe5   0x00c2
+0xe6   0x00ca
+0xe7   0x00c1
+0xe8   0x00cb
+0xe9   0x00c8
+0xea   0x00cd
+0xeb   0x00ce
+0xec   0x00cf
+0xed   0x00cc
+0xee   0x00d3
+0xef   0x00d4
+0xf1   0xfffd
+0xf1   0x00d2
+0xf2   0x00da
+0xf3   0x00db
+0xf4   0x00d9
+0xf6   0xfffd
+0xf6   0x02c6
+0xf7   0x02dc
+0xf8   0x00af
+0xf9   0x02d8
+0xfa   0x02d9
+0xfb   0x02da
+0xfc   0x00b8
+0xfd   0x02dd
+0xfe   0x02db
+0xff   0x02c7

Index: maintain/lib/libintl-perl/tests/02macukraine.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02macukraine.t
diff -N maintain/lib/libintl-perl/tests/02macukraine.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02macukraine.t      12 Oct 2011 23:52:13 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'MACUKRAINE',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'MACUKRAINE',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'MACUKRAINE');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'MACUKRAINE',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x0410
+0x81   0x0411
+0x82   0x0412
+0x83   0x0413
+0x84   0x0414
+0x85   0x0415
+0x86   0x0416
+0x87   0x0417
+0x88   0x0418
+0x89   0x0419
+0x8a   0x041a
+0x8b   0x041b
+0x8c   0x041c
+0x8d   0x041d
+0x8e   0x041e
+0x8f   0x041f
+0x90   0x0420
+0x91   0x0421
+0x92   0x0422
+0x93   0x0423
+0x94   0x0424
+0x95   0x0425
+0x96   0x0426
+0x97   0x0427
+0x98   0x0428
+0x99   0x0429
+0x9a   0x042a
+0x9b   0x042b
+0x9c   0x042c
+0x9d   0x042d
+0x9e   0x042e
+0x9f   0x042f
+0xa0   0x2020
+0xa1   0x00b0
+0xa2   0x0490
+0xa3   0x00a3
+0xa4   0x00a7
+0xa5   0x2022
+0xa6   0x00b6
+0xa7   0x0406
+0xa8   0x00ae
+0xa9   0x00a9
+0xaa   0x2122
+0xab   0x0402
+0xac   0x0452
+0xad   0x2260
+0xae   0x0403
+0xaf   0x0453
+0xb0   0x221e
+0xb1   0x00b1
+0xb2   0x2264
+0xb3   0x2265
+0xb4   0x0456
+0xb5   0x00b5
+0xb6   0x0491
+0xb7   0x0408
+0xb8   0x0404
+0xb9   0x0454
+0xba   0x0407
+0xbb   0x0457
+0xbc   0x0409
+0xbd   0x0459
+0xbe   0x040a
+0xbf   0x045a
+0xc0   0x0458
+0xc1   0x0405
+0xc2   0x00ac
+0xc3   0x221a
+0xc4   0x0192
+0xc5   0x2248
+0xc6   0x2206
+0xc7   0x00ab
+0xc8   0x00bb
+0xc9   0x2026
+0xca   0x00a0
+0xcb   0x040b
+0xcc   0x045b
+0xcd   0x040c
+0xce   0x045c
+0xcf   0x0455
+0xd0   0x2013
+0xd1   0x2014
+0xd2   0x201c
+0xd3   0x201d
+0xd4   0x2018
+0xd5   0x2019
+0xd6   0x00f7
+0xd7   0x201e
+0xd8   0x040e
+0xd9   0x045e
+0xda   0x040f
+0xdb   0x045f
+0xdc   0x2116
+0xdd   0x0401
+0xde   0x0451
+0xdf   0x044f
+0xe0   0x0430
+0xe1   0x0431
+0xe2   0x0432
+0xe3   0x0433
+0xe4   0x0434
+0xe5   0x0435
+0xe6   0x0436
+0xe7   0x0437
+0xe8   0x0438
+0xe9   0x0439
+0xea   0x043a
+0xeb   0x043b
+0xec   0x043c
+0xed   0x043d
+0xee   0x043e
+0xef   0x043f
+0xf0   0x0440
+0xf1   0x0441
+0xf2   0x0442
+0xf3   0x0443
+0xf4   0x0444
+0xf5   0x0445
+0xf6   0x0446
+0xf7   0x0447
+0xf8   0x0448
+0xf9   0x0449
+0xfa   0x044a
+0xfb   0x044b
+0xfc   0x044c
+0xfd   0x044d
+0xfe   0x044e
+0xff   0x00a4

Index: maintain/lib/libintl-perl/tests/02nats-dano.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02nats-dano.t
diff -N maintain/lib/libintl-perl/tests/02nats-dano.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02nats-dano.t       12 Oct 2011 23:52:13 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'NATS-DANO',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'NATS-DANO',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'NATS-DANO');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'NATS-DANO',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x00ab
+0x23   0x00bb
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0xe018
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x00c6
+0x5c   0x00d8
+0x5d   0x00c5
+0x5e   0x25a0
+0x5f   0x005f
+0x60   0xe019
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x00e6
+0x7c   0x00f8
+0x7d   0x00e5
+0x7e   0x2013
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02nats-sefi.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02nats-sefi.t
diff -N maintain/lib/libintl-perl/tests/02nats-sefi.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02nats-sefi.t       12 Oct 2011 23:52:13 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'NATS-SEFI',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'NATS-SEFI',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'NATS-SEFI');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'NATS-SEFI',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0xe018
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x00c4
+0x5c   0x00d6
+0x5d   0x00c5
+0x5e   0x25a0
+0x5f   0x005f
+0x60   0xe019
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x00e4
+0x7c   0x00f6
+0x7d   0x00e5
+0x7e   0x2013
+0x7f   0x007f
+0x80   0xfffd
+0x81   0xfffd
+0x82   0xfffd
+0x83   0xfffd
+0x84   0xfffd
+0x85   0xfffd
+0x86   0xfffd
+0x87   0xfffd
+0x88   0xfffd
+0x89   0xfffd
+0x8a   0xfffd
+0x8b   0xfffd
+0x8c   0xfffd
+0x8d   0xfffd
+0x8e   0xfffd
+0x8f   0xfffd
+0x90   0xfffd
+0x91   0xfffd
+0x92   0xfffd
+0x93   0xfffd
+0x94   0xfffd
+0x95   0xfffd
+0x96   0xfffd
+0x97   0xfffd
+0x98   0xfffd
+0x99   0xfffd
+0x9a   0xfffd
+0x9b   0xfffd
+0x9c   0xfffd
+0x9d   0xfffd
+0x9e   0xfffd
+0x9f   0xfffd
+0xa0   0xfffd
+0xa1   0xfffd
+0xa2   0xfffd
+0xa3   0xfffd
+0xa4   0xfffd
+0xa5   0xfffd
+0xa6   0xfffd
+0xa7   0xfffd
+0xa8   0xfffd
+0xa9   0xfffd
+0xaa   0xfffd
+0xab   0xfffd
+0xac   0xfffd
+0xad   0xfffd
+0xae   0xfffd
+0xaf   0xfffd
+0xb0   0xfffd
+0xb1   0xfffd
+0xb2   0xfffd
+0xb3   0xfffd
+0xb4   0xfffd
+0xb5   0xfffd
+0xb6   0xfffd
+0xb7   0xfffd
+0xb8   0xfffd
+0xb9   0xfffd
+0xba   0xfffd
+0xbb   0xfffd
+0xbc   0xfffd
+0xbd   0xfffd
+0xbe   0xfffd
+0xbf   0xfffd
+0xc0   0xfffd
+0xc1   0xfffd
+0xc2   0xfffd
+0xc3   0xfffd
+0xc4   0xfffd
+0xc5   0xfffd
+0xc6   0xfffd
+0xc7   0xfffd
+0xc8   0xfffd
+0xc9   0xfffd
+0xca   0xfffd
+0xcb   0xfffd
+0xcc   0xfffd
+0xcd   0xfffd
+0xce   0xfffd
+0xcf   0xfffd
+0xd0   0xfffd
+0xd1   0xfffd
+0xd2   0xfffd
+0xd3   0xfffd
+0xd4   0xfffd
+0xd5   0xfffd
+0xd6   0xfffd
+0xd7   0xfffd
+0xd8   0xfffd
+0xd9   0xfffd
+0xda   0xfffd
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0xfffd
+0xe0   0xfffd
+0xe1   0xfffd
+0xe2   0xfffd
+0xe3   0xfffd
+0xe4   0xfffd
+0xe5   0xfffd
+0xe6   0xfffd
+0xe7   0xfffd
+0xe8   0xfffd
+0xe9   0xfffd
+0xea   0xfffd
+0xeb   0xfffd
+0xec   0xfffd
+0xed   0xfffd
+0xee   0xfffd
+0xef   0xfffd
+0xf0   0xfffd
+0xf1   0xfffd
+0xf2   0xfffd
+0xf3   0xfffd
+0xf4   0xfffd
+0xf5   0xfffd
+0xf6   0xfffd
+0xf7   0xfffd
+0xf8   0xfffd
+0xf9   0xfffd
+0xfa   0xfffd
+0xfb   0xfffd
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02nextstep.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02nextstep.t
diff -N maintain/lib/libintl-perl/tests/02nextstep.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02nextstep.t        12 Oct 2011 23:52:13 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'NEXTSTEP',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'NEXTSTEP',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'NEXTSTEP');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'NEXTSTEP',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x00a0
+0x81   0x00c0
+0x82   0x00c1
+0x83   0x00c2
+0x84   0x00c3
+0x85   0x00c4
+0x86   0x00c5
+0x87   0x00c7
+0x88   0x00c8
+0x89   0x00c9
+0x8a   0x00ca
+0x8b   0x00cb
+0x8c   0x00cc
+0x8d   0x00cd
+0x8e   0x00ce
+0x8f   0x00cf
+0x90   0x00d0
+0x91   0x00d1
+0x92   0x00d2
+0x93   0x00d3
+0x94   0x00d4
+0x95   0x00d5
+0x96   0x00d6
+0x97   0x00d9
+0x98   0x00da
+0x99   0x00db
+0x9a   0x00dc
+0x9b   0x00dd
+0x9c   0x00de
+0x9d   0x00b5
+0x9e   0x00d7
+0x9f   0x00f7
+0xa0   0x00a9
+0xa1   0x00a1
+0xa2   0x00a2
+0xa3   0x00a3
+0xa4   0x2044
+0xa5   0x00a5
+0xa6   0x0192
+0xa7   0x00a7
+0xa8   0x00a4
+0xa9   0x2019
+0xaa   0x201c
+0xab   0x00ab
+0xac   0x2039
+0xad   0x203a
+0xae   0xfb01
+0xaf   0xfb02
+0xb0   0x00ae
+0xb1   0x2013
+0xb2   0x2020
+0xb3   0x2021
+0xb4   0x00b7
+0xb5   0x00a6
+0xb6   0x00b6
+0xb7   0x2022
+0xb8   0x201a
+0xb9   0x201e
+0xba   0x201d
+0xbb   0x00bb
+0xbc   0x2026
+0xbd   0x2030
+0xbe   0x00ac
+0xbf   0x00bf
+0xc0   0x00b9
+0xc1   0x02cb
+0xc2   0x00b4
+0xc3   0x02c6
+0xc4   0x02dc
+0xc5   0x00af
+0xc6   0x02d8
+0xc7   0x02d9
+0xc8   0x00a8
+0xc9   0x00b2
+0xca   0x02da
+0xcb   0x00b8
+0xcc   0x00b3
+0xcd   0x02dd
+0xce   0x02db
+0xcf   0x02c7
+0xd0   0x2014
+0xd1   0x00b1
+0xd2   0x00bc
+0xd3   0x00bd
+0xd4   0x00be
+0xd5   0x00e0
+0xd6   0x00e1
+0xd7   0x00e2
+0xd8   0x00e3
+0xd9   0x00e4
+0xda   0x00e5
+0xdb   0x00e7
+0xdc   0x00e8
+0xdd   0x00e9
+0xde   0x00ea
+0xdf   0x00eb
+0xe0   0x00ec
+0xe1   0x00c6
+0xe2   0x00ed
+0xe3   0x00aa
+0xe4   0x00ee
+0xe5   0x00ef
+0xe6   0x00f0
+0xe7   0x00f1
+0xe8   0x0141
+0xe9   0x00d8
+0xea   0x0152
+0xeb   0x00ba
+0xec   0x00f2
+0xed   0x00f3
+0xee   0x00f4
+0xef   0x00f5
+0xf0   0x00f6
+0xf1   0x00e6
+0xf2   0x00f9
+0xf3   0x00fa
+0xf4   0x00fb
+0xf5   0x0131
+0xf6   0x00fc
+0xf7   0x00fd
+0xf8   0x0142
+0xf9   0x00f8
+0xfa   0x0153
+0xfb   0x00df
+0xfc   0x00fe
+0xfd   0x00ff
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02sami-ws2.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02sami-ws2.t
diff -N maintain/lib/libintl-perl/tests/02sami-ws2.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02sami-ws2.t        12 Oct 2011 23:52:13 
-0000      1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'WIN-SAMI-2',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'WIN-SAMI-2',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'WIN-SAMI-2');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'WIN-SAMI-2',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x20ac
+0x82   0xfffd
+0x82   0x010c
+0x83   0x0192
+0x84   0x010d
+0x85   0x01b7
+0x86   0x0292
+0x87   0x01ee
+0x88   0x01ef
+0x89   0x0110
+0x8a   0x0160
+0x8b   0x2039
+0x8c   0x0152
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0xfffd
+0x91   0x2018
+0x92   0x2019
+0x93   0x201c
+0x94   0x201d
+0x95   0x2022
+0x96   0x2013
+0x97   0x2014
+0x98   0x0111
+0x99   0x01e6
+0x9a   0x0161
+0x9b   0x203a
+0x9c   0x0153
+0x9f   0xfffd
+0x9f   0xfffd
+0x9f   0x0178
+0xa0   0x00a0
+0xa1   0x01e7
+0xa2   0x01e4
+0xa3   0x00a3
+0xa4   0x00a4
+0xa5   0x01e5
+0xa6   0x00a6
+0xa7   0x00a7
+0xa8   0x00a8
+0xa9   0x00a9
+0xaa   0x021e
+0xab   0x00ab
+0xac   0x00ac
+0xad   0x00ad
+0xae   0x00ae
+0xaf   0x021f
+0xb0   0x00b0
+0xb1   0x00b1
+0xb2   0x01e8
+0xb3   0x01e9
+0xb4   0x00b4
+0xb5   0x00b5
+0xb6   0x00b6
+0xb7   0x00b7
+0xb8   0x014a
+0xb9   0x014b
+0xba   0x0166
+0xbb   0x00bb
+0xbc   0x0167
+0xbd   0x00bd
+0xbe   0x017d
+0xbf   0x017e
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x00c4
+0xc5   0x00c5
+0xc6   0x00c6
+0xc7   0x00c7
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x00cb
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x00ce
+0xcf   0x00cf
+0xd0   0x00d0
+0xd1   0x00d1
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x00d5
+0xd6   0x00d6
+0xd7   0x00d7
+0xd8   0x00d8
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x00db
+0xdc   0x00dc
+0xdd   0x00dd
+0xde   0x00de
+0xdf   0x00df
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x00e4
+0xe5   0x00e5
+0xe6   0x00e6
+0xe7   0x00e7
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x00eb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x00ee
+0xef   0x00ef
+0xf0   0x00f0
+0xf1   0x00f1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x00f6
+0xf7   0x00f7
+0xf8   0x00f8
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x00fb
+0xfc   0x00fc
+0xfd   0x00fd
+0xfe   0x00fe
+0xff   0x00ff

Index: maintain/lib/libintl-perl/tests/02tis-620.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02tis-620.t
diff -N maintain/lib/libintl-perl/tests/02tis-620.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02tis-620.t 12 Oct 2011 23:52:13 -0000      
1.1
@@ -0,0 +1,367 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'TIS-620',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'TIS-620',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'TIS-620');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+    $result_int = 0;
+    last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'TIS-620',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x001e
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0xa0   0xfffd
+0xa1   0x0e01
+0xa2   0x0e02
+0xa3   0x0e03
+0xa4   0x0e04
+0xa5   0x0e05
+0xa6   0x0e06
+0xa7   0x0e07
+0xa8   0x0e08
+0xa9   0x0e09
+0xaa   0x0e0a
+0xab   0x0e0b
+0xac   0x0e0c
+0xad   0x0e0d
+0xae   0x0e0e
+0xaf   0x0e0f
+0xb0   0x0e10
+0xb1   0x0e11
+0xb2   0x0e12
+0xb3   0x0e13
+0xb4   0x0e14
+0xb5   0x0e15
+0xb6   0x0e16
+0xb7   0x0e17
+0xb8   0x0e18
+0xb9   0x0e19
+0xba   0x0e1a
+0xbb   0x0e1b
+0xbc   0x0e1c
+0xbd   0x0e1d
+0xbe   0x0e1e
+0xbf   0x0e1f
+0xc0   0x0e20
+0xc1   0x0e21
+0xc2   0x0e22
+0xc3   0x0e23
+0xc4   0x0e24
+0xc5   0x0e25
+0xc6   0x0e26
+0xc7   0x0e27
+0xc8   0x0e28
+0xc9   0x0e29
+0xca   0x0e2a
+0xcb   0x0e2b
+0xcc   0x0e2c
+0xcd   0x0e2d
+0xce   0x0e2e
+0xcf   0x0e2f
+0xd0   0x0e30
+0xd1   0x0e31
+0xd2   0x0e32
+0xd3   0x0e33
+0xd4   0x0e34
+0xd5   0x0e35
+0xd6   0x0e36
+0xd7   0x0e37
+0xd8   0x0e38
+0xd9   0x0e39
+0xda   0x0e3a
+0xdb   0xfffd
+0xdc   0xfffd
+0xdd   0xfffd
+0xde   0xfffd
+0xdf   0x0e3f
+0xe0   0x0e40
+0xe1   0x0e41
+0xe2   0x0e42
+0xe3   0x0e43
+0xe4   0x0e44
+0xe5   0x0e45
+0xe6   0x0e46
+0xe7   0x0e47
+0xe8   0x0e48
+0xe9   0x0e49
+0xea   0x0e4a
+0xeb   0x0e4b
+0xec   0x0e4c
+0xed   0x0e4d
+0xee   0x0e4e
+0xef   0x0e4f
+0xf0   0x0e50
+0xf1   0x0e51
+0xf2   0x0e52
+0xf3   0x0e53
+0xf4   0x0e54
+0xf5   0x0e55
+0xf6   0x0e56
+0xf7   0x0e57
+0xf8   0x0e58
+0xf9   0x0e59
+0xfa   0x0e5a
+0xfb   0x0e5b
+0xfc   0xfffd
+0xfd   0xfffd
+0xfe   0xfffd
+0xff   0xfffd

Index: maintain/lib/libintl-perl/tests/02us-ascii.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02us-ascii.t
diff -N maintain/lib/libintl-perl/tests/02us-ascii.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02us-ascii.t        12 Oct 2011 23:52:13 
-0000      1.1
@@ -0,0 +1,269 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $codes = {};
+while (<DATA>) {
+       my ($code, $ucs4, undef) = split /\s+/, $_;
+       $codes->{oct $code} = oct $ucs4;
+}
+
+my $cd_int = Locale::Recode->new (from => 'ASCII',
+                                                        to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'ASCII',
+                                                                 to => 
'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                                                to => 'ASCII');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs4) = each %$codes) {
+       my $outbuf = chr $code;
+       my $result = $cd_int->recode ($outbuf);
+       unless ($result && $outbuf->[0] == $ucs4) {
+               $result_int = 0;
+               last;
+       }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs4) = each %$codes) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs4) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($code, $ucs4) = each %$codes) {
+    my $outbuf = [ $ucs4 ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                       to => 'ISO-8859-2',
+                )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+
+    if ($ucs4 <= 0x7f) {
+               return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+               return pack ("C2", 
+                       (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+               return pack ("C3", 
+                       (0xe0 | (($ucs4 >> 12) & 0xf)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+               return pack ("C4", 
+                       (0xf0 | (($ucs4 >> 18) & 0x7)),
+                       (0x80 | (($ucs4 >> 12) & 0x3f)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+               return pack ("C5", 
+                       (0xf0 | (($ucs4 >> 24) & 0x3)),
+                       (0x80 | (($ucs4 >> 18) & 0x3f)),
+                       (0x80 | (($ucs4 >> 12) & 0x3f)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } else {
+               return pack ("C6", 
+                       (0xf0 | (($ucs4 >> 30) & 0x3)),
+                       (0x80 | (($ucs4 >> 24) & 0x1)),
+                       (0x80 | (($ucs4 >> 18) & 0x3f)),
+                       (0x80 | (($ucs4 >> 12) & 0x3f)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+# Local Variables:
+# mode: perl
+# perl-indent-level: 4
+# perl-continued-statement-offset: 4
+# perl-continued-brace-offset: 0
+# perl-brace-offset: -4
+# perl-brace-imaginary-offset: 0
+# perl-label-offset: -4
+# cperl-indent-level: 4
+# cperl-continued-statement-offset: 2
+# tab-width: 4
+# End:
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x0002
+0x03   0x0003
+0x04   0x0004
+0x05   0x0005
+0x06   0x0006
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0A   0x000A
+0x0B   0x000B
+0x0C   0x000C
+0x0D   0x000D
+0x0E   0x000E
+0x0F   0x000F
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x0014
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x0019
+0x1A   0x001A
+0x1B   0x001B
+0x1C   0x001C
+0x1D   0x001D
+0x1E   0x001E
+0x1F   0x001F
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2A   0x002A
+0x2B   0x002B
+0x2C   0x002C
+0x2D   0x002D
+0x2E   0x002E
+0x2F   0x002F
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3A   0x003A
+0x3B   0x003B
+0x3C   0x003C
+0x3D   0x003D
+0x3E   0x003E
+0x3F   0x003F
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4A   0x004A
+0x4B   0x004B
+0x4C   0x004C
+0x4D   0x004D
+0x4E   0x004E
+0x4F   0x004F
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5A   0x005A
+0x5B   0x005B
+0x5C   0x005C
+0x5D   0x005D
+0x5E   0x005E
+0x5F   0x005F
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6A   0x006A
+0x6B   0x006B
+0x6C   0x006C
+0x6D   0x006D
+0x6E   0x006E
+0x6F   0x006F
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7A   0x007A
+0x7B   0x007B
+0x7C   0x007C
+0x7D   0x007D
+0x7E   0x007E
+0x7F   0x007F

Index: maintain/lib/libintl-perl/tests/02utf-8.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02utf-8.t
diff -N maintain/lib/libintl-perl/tests/02utf-8.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02utf-8.t   12 Oct 2011 23:52:14 -0000      
1.1
@@ -0,0 +1,124 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 5;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $codes = {};
+foreach (0 .. 0xcfff
+                # 0 .. 0x11_000, 
+                # 0x10_000 .. 0x11_000,
+            # 0x200_000 .. 0x201_000,      # :-(  # Not supported by Perl 5.6
+            # 0x4_000_000 .. 0x4_001_000,  # :-(  # Not supported by Perl 5.6
+         ) {
+       $codes->{$_} = int2utf8 $_;
+}
+
+my $cd_int = Locale::Recode->new (from => 'UTF-8',
+                                                        to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                                                to => 'UTF-8');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($ucs4, $outbuf) = each %$codes) {
+       my $result = $cd_int->recode ($outbuf);
+       unless ($result && $outbuf->[0] == $ucs4) {
+               $result_int = 0;
+               last;
+       }
+}
+ok $result_int;
+
+# Convert from internal representation.
+my $result_rev = 1;
+if (1) {
+       # FIXME: This test only succeeds with use bytes in Perl >= 5.8.0.
+       # However, this will fail with Perl <= Perl 5.6.0. :-(
+       # FIXME: Is it really fixed now?
+while (my ($ucs4, $code) = each %$codes) {
+    my $outbuf = [ $ucs4 ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code eq $outbuf) {
+        $result_rev = 0;
+        last;
+    }
+}
+}
+ok $result_rev;
+
+# Check handling of unknown characters.  This assumes that the 
+# character set is a subset of US-ASCII.
+my $test_string1 = "\xffSupergirl\xff";
+$cd_rev = Locale::Recode->new (from => 'ASCII',
+                                                          to => 'UTF-8',
+                                                         );
+$result_rev = $cd_rev->recode ($test_string1);
+ok $result_rev && $test_string1 eq "�Supergirl�";
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+
+    if ($ucs4 <= 0x7f) {
+               return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+               return pack ("C2", 
+                       (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+               return pack ("C3", 
+                       (0xe0 | (($ucs4 >> 12) & 0xf)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+               return pack ("C4", 
+                       (0xf0 | (($ucs4 >> 18) & 0x7)),
+                       (0x80 | (($ucs4 >> 12) & 0x3f)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+               return pack ("C5", 
+                       (0xf0 | (($ucs4 >> 24) & 0x3)),
+                       (0x80 | (($ucs4 >> 18) & 0x3f)),
+                       (0x80 | (($ucs4 >> 12) & 0x3f)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    } else {
+               return pack ("C6", 
+                       (0xf0 | (($ucs4 >> 30) & 0x3)),
+                       (0x80 | (($ucs4 >> 24) & 0x1)),
+                       (0x80 | (($ucs4 >> 18) & 0x3f)),
+                       (0x80 | (($ucs4 >> 12) & 0x3f)),
+                       (0x80 | (($ucs4 >> 6) & 0x3f)),
+                       (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+# Local Variables:
+# mode: perl
+# perl-indent-level: 4
+# perl-continued-statement-offset: 4
+# perl-continued-brace-offset: 0
+# perl-brace-offset: -4
+# perl-brace-imaginary-offset: 0
+# perl-label-offset: -4
+# cperl-indent-level: 4
+# cperl-continued-statement-offset: 2
+# tab-width: 4
+# End:
+

Index: maintain/lib/libintl-perl/tests/02viscii.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/02viscii.t
diff -N maintain/lib/libintl-perl/tests/02viscii.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/02viscii.t  12 Oct 2011 23:52:14 -0000      
1.1
@@ -0,0 +1,399 @@
+#! /usr/local/bin/perl -w
+
+# vim: tabstop=4
+# vim: syntax=perl
+
+use strict;
+
+use Test;
+
+BEGIN {
+       plan tests => 7;
+}
+
+use Locale::Recode;
+
+sub int2utf8;
+
+my $local2ucs = {};
+my $ucs2local = {};
+
+while (<DATA>) {
+       my ($code, $ucs, undef) = map { oct $_ } split /\s+/, $_;
+       $local2ucs->{$code} = $ucs;
+       $ucs2local->{$ucs} = $code unless $ucs == 0xfffd;
+}
+
+my $cd_int = Locale::Recode->new (from => 'VISCII',
+                                 to => 'INTERNAL');
+ok !$cd_int->getError;
+
+my $cd_utf8 = Locale::Recode->new (from => 'VISCII',
+                                  to => 'UTF-8');
+ok !$cd_utf8->getError;
+
+my $cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                                 to => 'VISCII');
+ok !$cd_rev->getError;
+
+# Convert into internal representation.
+my $result_int = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_int->recode ($outbuf);
+    unless ($result && $outbuf->[0] == $ucs) {
+       $result_int = 0;
+       last;
+    }
+}
+ok $result_int;
+
+# Convert to UTF-8.
+my $result_utf8 = 1;
+while (my ($code, $ucs) = each %$local2ucs) {
+    my $outbuf = chr $code;
+    my $result = $cd_utf8->recode ($outbuf);
+    unless ($result && $outbuf eq int2utf8 $ucs) {
+        $result_utf8 = 0;
+        last;
+    }
+}
+ok $result_utf8;
+
+# Convert from internal representation.
+my $result_rev = 1;
+while (my ($ucs, $code) = each %$ucs2local) {
+    my $outbuf = [ $ucs ];
+    my $result = $cd_rev->recode ($outbuf);
+    unless ($result && $code == ord $outbuf) {
+        $result_int = 0;
+        last;
+    }
+}
+ok $result_int;
+
+# Check handling of unknown characters.
+my $test_string1 = [ unpack 'c*', ' Supergirl ' ];
+$test_string1->[0] = 0xad0be;
+$test_string1->[-1] = 0xbeefbabe;
+my $test_string2 = [ unpack 'c*', 'Supergirl' ];
+
+my $unknown = "\x3f"; # Unknown character!
+
+$cd_rev = Locale::Recode->new (from => 'INTERNAL',
+                              to => 'VISCII',
+                               )
+&& $cd_rev->recode ($test_string1)
+&& $cd_rev->recode ($test_string2)
+&& ($test_string2 = $unknown . $test_string2 . $unknown);
+
+ok $test_string1 eq $test_string2;
+
+sub int2utf8
+{
+    my $ucs4 = shift;
+    
+    if ($ucs4 <= 0x7f) {
+       return chr $ucs4;
+    } elsif ($ucs4 <= 0x7ff) {
+       return pack ("C2", 
+                    (0xc0 | (($ucs4 >> 6) & 0x1f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0xffff) {
+       return pack ("C3", 
+                    (0xe0 | (($ucs4 >> 12) & 0xf)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x1fffff) {
+       return pack ("C4", 
+                    (0xf0 | (($ucs4 >> 18) & 0x7)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } elsif ($ucs4 <= 0x3ffffff) {
+       return pack ("C5", 
+                    (0xf0 | (($ucs4 >> 24) & 0x3)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    } else {
+       return pack ("C6", 
+                    (0xf0 | (($ucs4 >> 30) & 0x3)),
+                    (0x80 | (($ucs4 >> 24) & 0x1)),
+                    (0x80 | (($ucs4 >> 18) & 0x3f)),
+                    (0x80 | (($ucs4 >> 12) & 0x3f)),
+                    (0x80 | (($ucs4 >> 6) & 0x3f)),
+                    (0x80 | ($ucs4 & 0x3f)));
+    }
+}
+
+#Local Variables:
+#mode: perl
+#perl-indent-level: 4
+#perl-continued-statement-offset: 4
+#perl-continued-brace-offset: 0
+#perl-brace-offset: -4
+#perl-brace-imaginary-offset: 0
+#perl-label-offset: -4
+#tab-width: 4
+#End:
+
+
+__DATA__
+0x00   0x0000
+0x01   0x0001
+0x02   0x1eb2
+0x03   0x0003
+0x04   0x0004
+0x05   0x1eb4
+0x06   0x1eaa
+0x07   0x0007
+0x08   0x0008
+0x09   0x0009
+0x0a   0x000a
+0x0b   0x000b
+0x0c   0x000c
+0x0d   0x000d
+0x0e   0x000e
+0x0f   0x000f
+0x10   0x0010
+0x11   0x0011
+0x12   0x0012
+0x13   0x0013
+0x14   0x1ef6
+0x15   0x0015
+0x16   0x0016
+0x17   0x0017
+0x18   0x0018
+0x19   0x1ef8
+0x1a   0x001a
+0x1b   0x001b
+0x1c   0x001c
+0x1d   0x001d
+0x1e   0x1ef4
+0x1f   0x001f
+0x20   0x0020
+0x21   0x0021
+0x22   0x0022
+0x23   0x0023
+0x24   0x0024
+0x25   0x0025
+0x26   0x0026
+0x27   0x0027
+0x28   0x0028
+0x29   0x0029
+0x2a   0x002a
+0x2b   0x002b
+0x2c   0x002c
+0x2d   0x002d
+0x2e   0x002e
+0x2f   0x002f
+0x30   0x0030
+0x31   0x0031
+0x32   0x0032
+0x33   0x0033
+0x34   0x0034
+0x35   0x0035
+0x36   0x0036
+0x37   0x0037
+0x38   0x0038
+0x39   0x0039
+0x3a   0x003a
+0x3b   0x003b
+0x3c   0x003c
+0x3d   0x003d
+0x3e   0x003e
+0x3f   0x003f
+0x40   0x0040
+0x41   0x0041
+0x42   0x0042
+0x43   0x0043
+0x44   0x0044
+0x45   0x0045
+0x46   0x0046
+0x47   0x0047
+0x48   0x0048
+0x49   0x0049
+0x4a   0x004a
+0x4b   0x004b
+0x4c   0x004c
+0x4d   0x004d
+0x4e   0x004e
+0x4f   0x004f
+0x50   0x0050
+0x51   0x0051
+0x52   0x0052
+0x53   0x0053
+0x54   0x0054
+0x55   0x0055
+0x56   0x0056
+0x57   0x0057
+0x58   0x0058
+0x59   0x0059
+0x5a   0x005a
+0x5b   0x005b
+0x5c   0x005c
+0x5d   0x005d
+0x5e   0x005e
+0x5f   0x005f
+0x60   0x0060
+0x61   0x0061
+0x62   0x0062
+0x63   0x0063
+0x64   0x0064
+0x65   0x0065
+0x66   0x0066
+0x67   0x0067
+0x68   0x0068
+0x69   0x0069
+0x6a   0x006a
+0x6b   0x006b
+0x6c   0x006c
+0x6d   0x006d
+0x6e   0x006e
+0x6f   0x006f
+0x70   0x0070
+0x71   0x0071
+0x72   0x0072
+0x73   0x0073
+0x74   0x0074
+0x75   0x0075
+0x76   0x0076
+0x77   0x0077
+0x78   0x0078
+0x79   0x0079
+0x7a   0x007a
+0x7b   0x007b
+0x7c   0x007c
+0x7d   0x007d
+0x7e   0x007e
+0x7f   0x007f
+0x80   0x1ea0
+0x81   0x1eae
+0x82   0x1eb0
+0x83   0x1eb6
+0x84   0x1ea4
+0x85   0x1ea6
+0x86   0x1ea8
+0x87   0x1eac
+0x88   0x1ebc
+0x89   0x1eb8
+0x8a   0x1ebe
+0x8b   0x1ec0
+0x8c   0x1ec2
+0x8d   0x1ec4
+0x8e   0x1ec6
+0x8f   0x1ed0
+0x90   0x1ed2
+0x91   0x1ed4
+0x92   0x1ed6
+0x93   0x1ed8
+0x94   0x1ee2
+0x95   0x1eda
+0x96   0x1edc
+0x97   0x1ede
+0x98   0x1eca
+0x99   0x1ece
+0x9a   0x1ecc
+0x9b   0x1ec8
+0x9c   0x1ee6
+0x9d   0x0168
+0x9e   0x1ee4
+0x9f   0x1ef2
+0xa0   0x00d5
+0xa1   0x1eaf
+0xa2   0x1eb1
+0xa3   0x1eb7
+0xa4   0x1ea5
+0xa5   0x1ea7
+0xa6   0x1ea9
+0xa7   0x1ead
+0xa8   0x1ebd
+0xa9   0x1eb9
+0xaa   0x1ebf
+0xab   0x1ec1
+0xac   0x1ec3
+0xad   0x1ec5
+0xae   0x1ec7
+0xaf   0x1ed1
+0xb0   0x1ed3
+0xb1   0x1ed5
+0xb2   0x1ed7
+0xb3   0x1ee0
+0xb4   0x01a0
+0xb5   0x1ed9
+0xb6   0x1edd
+0xb7   0x1edf
+0xb8   0x1ecb
+0xb9   0x1ef0
+0xba   0x1ee8
+0xbb   0x1eea
+0xbc   0x1eec
+0xbd   0x01a1
+0xbe   0x1edb
+0xbf   0x01af
+0xc0   0x00c0
+0xc1   0x00c1
+0xc2   0x00c2
+0xc3   0x00c3
+0xc4   0x1ea2
+0xc5   0x0102
+0xc6   0x1eb3
+0xc7   0x1eb5
+0xc8   0x00c8
+0xc9   0x00c9
+0xca   0x00ca
+0xcb   0x1eba
+0xcc   0x00cc
+0xcd   0x00cd
+0xce   0x0128
+0xcf   0x1ef3
+0xd0   0x0110
+0xd1   0x1ee9
+0xd2   0x00d2
+0xd3   0x00d3
+0xd4   0x00d4
+0xd5   0x1ea1
+0xd6   0x1ef7
+0xd7   0x1eeb
+0xd8   0x1eed
+0xd9   0x00d9
+0xda   0x00da
+0xdb   0x1ef9
+0xdc   0x1ef5
+0xdd   0x00dd
+0xde   0x1ee1
+0xdf   0x01b0
+0xe0   0x00e0
+0xe1   0x00e1
+0xe2   0x00e2
+0xe3   0x00e3
+0xe4   0x1ea3
+0xe5   0x0103
+0xe6   0x1eef
+0xe7   0x1eab
+0xe8   0x00e8
+0xe9   0x00e9
+0xea   0x00ea
+0xeb   0x1ebb
+0xec   0x00ec
+0xed   0x00ed
+0xee   0x0129
+0xef   0x1ec9
+0xf0   0x0111
+0xf1   0x1ef1
+0xf2   0x00f2
+0xf3   0x00f3
+0xf4   0x00f4
+0xf5   0x00f5
+0xf6   0x1ecf
+0xf7   0x1ecd
+0xf8   0x1ee5
+0xf9   0x00f9
+0xfa   0x00fa
+0xfb   0x0169
+0xfc   0x1ee7
+0xfd   0x00fd
+0xfe   0x1ee3
+0xff   0x1eee

Index: maintain/lib/libintl-perl/tests/03_tester_david_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03_tester_david_pp.t
diff -N maintain/lib/libintl-perl/tests/03_tester_david_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03_tester_david_pp.t        12 Oct 2011 
23:52:14 -0000      1.1
@@ -0,0 +1,73 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 6;
+
+use Locale::Messages qw (LC_MESSAGES bindtextdomain textdomain dcgettext 
dgettext gettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+# Normal lookup.
+ok dcgettext (existing => 'View', LC_MESSAGES), 'Anzeigen';
+
+# Can we retrieve a translation with the gettext glue?
+ok dcgettext (existing => "Which folder would you like to view?\004View",
+              LC_MESSAGES), 'Ansicht';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03_tester_david_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03_tester_david_xs.t
diff -N maintain/lib/libintl-perl/tests/03_tester_david_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03_tester_david_xs.t        12 Oct 2011 
23:52:14 -0000      1.1
@@ -0,0 +1,73 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 6;
+
+use Locale::Messages qw (LC_MESSAGES bindtextdomain textdomain dcgettext 
dgettext gettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+# Normal lookup.
+ok dcgettext (existing => 'View', LC_MESSAGES), 'Anzeigen';
+
+# Can we retrieve a translation with the gettext glue?
+ok dcgettext (existing => "Which folder would you like to view?\004View",
+              LC_MESSAGES), 'Ansicht';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_pp.t
diff -N maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_pp.t      12 Oct 
2011 23:52:14 -0000      1.1
@@ -0,0 +1,104 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 14;
+
+use Locale::Messages qw (bindtextdomain textdomain bind_textdomain_codeset 
+                                                gettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir) eq File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $textdomain, $bound_domain;
+
+my $bound_codeset = bind_textdomain_codeset $textdomain => 'ISO-8859-1';
+
+ok defined $bound_codeset;
+ok $bound_codeset, 'ISO-8859-1';
+
+skip $missing_locale, gettext ('January'), 'Jänner';
+ok gettext ('March'), 'März';
+
+# This will cause GNU gettext to re-load our catalog.
+$bound_dir = bindtextdomain $textdomain => $locale_dir . '/../LocaleData';
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), 
+    File::Spec->catdir ("$locale_dir/../LocaleData"));
+
+$bound_codeset = bind_textdomain_codeset $textdomain => 'UTF-8';
+
+ok defined $bound_codeset;
+ok uc $bound_codeset, 'UTF-8';
+
+skip $missing_locale, gettext ('January'), 'Jänner';
+skip $missing_locale, gettext ('March'), 'März';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_xs.t
diff -N maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03bind_textdomain_codeset_xs.t      12 Oct 
2011 23:52:14 -0000      1.1
@@ -0,0 +1,104 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 14;
+
+use Locale::Messages qw (bindtextdomain textdomain bind_textdomain_codeset 
+                                                gettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir) eq File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $textdomain, $bound_domain;
+
+my $bound_codeset = bind_textdomain_codeset $textdomain => 'ISO-8859-1';
+
+ok defined $bound_codeset;
+ok $bound_codeset, 'ISO-8859-1';
+
+skip $missing_locale, gettext ('January'), 'Jänner';
+ok gettext ('March'), 'März';
+
+# This will cause GNU gettext to re-load our catalog.
+$bound_dir = bindtextdomain $textdomain => $locale_dir . '/../LocaleData';
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), 
+    File::Spec->catdir ("$locale_dir/../LocaleData"));
+
+$bound_codeset = bind_textdomain_codeset $textdomain => 'UTF-8';
+
+ok defined $bound_codeset;
+ok uc $bound_codeset, 'UTF-8';
+
+skip $missing_locale, gettext ('January'), 'Jänner';
+skip $missing_locale, gettext ('March'), 'März';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t
diff -N maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t       12 Oct 
2011 23:52:14 -0000      1.1
@@ -0,0 +1,88 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 7;
+
+use Locale::Messages qw (LC_MESSAGES textdomain bind_textdomain_filter
+                          gettext  dgettext  dcgettext
+                         ngettext dngettext dcngettext);
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+textdomain 'bogus';
+
+my $gettext = gettext ('foobar');
+my $dgettext = dgettext (bogus => 'foobar');
+my $dcgettext = dcgettext (bogus => 'foobar', LC_MESSAGES);
+my $ngettext = ngettext ('foobar', 'barbaz', 1);
+my $dngettext = dngettext (bogus => 'foobar', 'barbaz', 1);
+my $dcngettext = dcngettext (bogus => 'foobar', 'barbaz', 1, LC_MESSAGES); 
+
+package MyPackage;
+
+use strict;
+
+sub new {
+       bless {}, shift;
+}
+
+sub filterMethod {
+       my ($self, $string) = @_;
+       
+       return 'prefix - ' . $string;
+};
+
+package main;
+
+sub wrapper {
+       my ($string, $obj) = @_;
+
+       $obj->filterMethod ($string);
+}
+
+my $obj = MyPackage->new;
+ok (bind_textdomain_filter ('bogus', \&wrapper, $obj));
+
+my $prefix = 'prefix - ';
+ok "$prefix$gettext", gettext ('foobar');
+ok "$prefix$dgettext", dgettext (bogus => 'foobar');
+ok "$prefix$dcgettext", dcgettext (bogus => 'foobar', LC_MESSAGES);
+ok "$prefix$ngettext", ngettext ('foobar', 'barbaz', 1);
+ok "$prefix$dngettext", dngettext (bogus => 'foobar', 'barbaz', 1);
+ok "$prefix$dcngettext", 
+       dcngettext (bogus => 'foobar', 'barbaz', 1, LC_MESSAGES); 
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03bind_textdomain_filter_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03bind_textdomain_filter_xs.t
diff -N maintain/lib/libintl-perl/tests/03bind_textdomain_filter_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03bind_textdomain_filter_xs.t       12 Oct 
2011 23:52:14 -0000      1.1
@@ -0,0 +1,88 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 7;
+
+use Locale::Messages qw (LC_MESSAGES textdomain bind_textdomain_filter
+                          gettext  dgettext  dcgettext
+                         ngettext dngettext dcngettext);
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+textdomain 'bogus';
+
+my $gettext = gettext ('foobar');
+my $dgettext = dgettext (bogus => 'foobar');
+my $dcgettext = dcgettext (bogus => 'foobar', LC_MESSAGES);
+my $ngettext = ngettext ('foobar', 'barbaz', 1);
+my $dngettext = dngettext (bogus => 'foobar', 'barbaz', 1);
+my $dcngettext = dcngettext (bogus => 'foobar', 'barbaz', 1, LC_MESSAGES); 
+
+package MyPackage;
+
+use strict;
+
+sub new {
+       bless {}, shift;
+}
+
+sub filterMethod {
+       my ($self, $string) = @_;
+       
+       return 'prefix - ' . $string;
+};
+
+package main;
+
+sub wrapper {
+       my ($string, $obj) = @_;
+
+       $obj->filterMethod ($string);
+}
+
+my $obj = MyPackage->new;
+ok (bind_textdomain_filter ('bogus', \&wrapper, $obj));
+
+my $prefix = 'prefix - ';
+ok "$prefix$gettext", gettext ('foobar');
+ok "$prefix$dgettext", dgettext (bogus => 'foobar');
+ok "$prefix$dcgettext", dcgettext (bogus => 'foobar', LC_MESSAGES);
+ok "$prefix$ngettext", ngettext ('foobar', 'barbaz', 1);
+ok "$prefix$dngettext", dngettext (bogus => 'foobar', 'barbaz', 1);
+ok "$prefix$dcngettext", 
+       dcngettext (bogus => 'foobar', 'barbaz', 1, LC_MESSAGES); 
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03bindtextdomain_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03bindtextdomain_pp.t
diff -N maintain/lib/libintl-perl/tests/03bindtextdomain_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03bindtextdomain_pp.t       12 Oct 2011 
23:52:14 -0000      1.1
@@ -0,0 +1,67 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 12;
+
+use Locale::Messages qw (bindtextdomain);
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $bound_domain = bindtextdomain 'existing';
+ok defined $bound_domain;
+ok length $bound_domain;
+
+$bound_domain = bindtextdomain 'existing', '.';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+$bound_domain = bindtextdomain 'existing';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+$bound_domain = bindtextdomain 'not_existing';
+ok defined $bound_domain;
+ok length $bound_domain;
+
+$bound_domain = bindtextdomain 'not_existing', '.';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+$bound_domain = bindtextdomain 'not_existing';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03bindtextdomain_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03bindtextdomain_xs.t
diff -N maintain/lib/libintl-perl/tests/03bindtextdomain_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03bindtextdomain_xs.t       12 Oct 2011 
23:52:14 -0000      1.1
@@ -0,0 +1,67 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 12;
+
+use Locale::Messages qw (bindtextdomain);
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $bound_domain = bindtextdomain 'existing';
+ok defined $bound_domain;
+ok length $bound_domain;
+
+$bound_domain = bindtextdomain 'existing', '.';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+$bound_domain = bindtextdomain 'existing';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+$bound_domain = bindtextdomain 'not_existing';
+ok defined $bound_domain;
+ok length $bound_domain;
+
+$bound_domain = bindtextdomain 'not_existing', '.';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+$bound_domain = bindtextdomain 'not_existing';
+ok defined $bound_domain;
+ok $bound_domain, '.';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dcgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dcgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcgettext_pp.t    12 Oct 2011 23:52:15 
-0000      1.1
@@ -0,0 +1,86 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 11;
+
+use Locale::Messages qw (bindtextdomain dcgettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+ok 'Dezember', dcgettext (existing => 'December', LC_MESSAGES);
+ok 'September', dcgettext (existing => 'September', LC_MESSAGES);
+ok 'Not translated', dcgettext (existing => 'Not translated', LC_MESSAGES);
+skip $missing_locale, 'Jänner', dcgettext (existing => 'January', LC_MESSAGES);
+
+ok 'Montag', dcgettext (additional => 'Monday', LC_MESSAGES);
+ok 'Not translated', dcgettext (additional => 'Not translated', LC_MESSAGES);
+skip $missing_locale, 
+       dcgettext (additional => 'Saturday', LC_MESSAGES), 'Sonnabend';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dcgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dcgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcgettext_xs.t    12 Oct 2011 23:52:15 
-0000      1.1
@@ -0,0 +1,86 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 11;
+
+use Locale::Messages qw (bindtextdomain dcgettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+ok 'Dezember', dcgettext (existing => 'December', LC_MESSAGES);
+ok 'September', dcgettext (existing => 'September', LC_MESSAGES);
+ok 'Not translated', dcgettext (existing => 'Not translated', LC_MESSAGES);
+skip $missing_locale, 'Jänner', dcgettext (existing => 'January', LC_MESSAGES);
+
+ok 'Montag', dcgettext (additional => 'Monday', LC_MESSAGES);
+ok 'Not translated', dcgettext (additional => 'Not translated', LC_MESSAGES);
+skip $missing_locale, 
+       dcgettext (additional => 'Saturday', LC_MESSAGES), 'Sonnabend';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dcngettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcngettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dcngettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcngettext_pp.t   12 Oct 2011 23:52:15 
-0000      1.1
@@ -0,0 +1,139 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 85;
+
+use Locale::Messages qw (bindtextdomain dcngettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+POSIX::setlocale (POSIX::LC_ALL() => ''); 
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       my $translation = dcngettext (not_here => $strings[0], $strings[1], $_, 
LC_MESSAGES);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dcngettext (existing => $strings[0], $strings[1], $_, 
LC_MESSAGES);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+for (0 .. 9) {
+       my $translation = dcngettext (existing => $strings[0], $strings[1], $_, 
LC_MESSAGES);
+       skip $missing_locale, $translation, $_ == 1 ? 'Einzahl' : 'Mehrzahl';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+for (0 .. 9) {
+       my $translation = dcngettext (additional => $strings[0], $strings[1], 
$_, LC_MESSAGES);
+       ok $translation, $_ == 1 ? 'Singular' : 'Plural';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => $setlocale) unless $missing_locale;
+
+for (0 .. 40) {
+       my $translation = dcngettext (additional => $strings[0], $strings[1], 
$_, LC_MESSAGES);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       skip $missing_locale, $translation, "Numerus $plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dcngettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcngettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dcngettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcngettext_xs.t   12 Oct 2011 23:52:15 
-0000      1.1
@@ -0,0 +1,139 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 85;
+
+use Locale::Messages qw (bindtextdomain dcngettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+POSIX::setlocale (POSIX::LC_ALL() => ''); 
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       my $translation = dcngettext (not_here => $strings[0], $strings[1], $_, 
LC_MESSAGES);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dcngettext (existing => $strings[0], $strings[1], $_, 
LC_MESSAGES);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+for (0 .. 9) {
+       my $translation = dcngettext (existing => $strings[0], $strings[1], $_, 
LC_MESSAGES);
+       skip $missing_locale, $translation, $_ == 1 ? 'Einzahl' : 'Mehrzahl';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+for (0 .. 9) {
+       my $translation = dcngettext (additional => $strings[0], $strings[1], 
$_, LC_MESSAGES);
+       ok $translation, $_ == 1 ? 'Singular' : 'Plural';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => $setlocale) unless $missing_locale;
+
+for (0 .. 40) {
+       my $translation = dcngettext (additional => $strings[0], $strings[1], 
$_, LC_MESSAGES);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       skip $missing_locale, $translation, "Numerus $plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dcnpgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcnpgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dcnpgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcnpgettext_pp.t  12 Oct 2011 23:52:15 
-0000      1.1
@@ -0,0 +1,143 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 95;
+
+use Locale::Messages qw (bindtextdomain dcnpgettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+POSIX::setlocale (POSIX::LC_ALL() => ''); 
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+# make sure it works with distinct key (where context doesn't matter)
+my $context3 = "Context here (3)";
+my @strings3 = ("Singular 3", "Plural 3");
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dcnpgettext (not_here => $context3, $strings3[0], 
$strings3[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular 3' : 'Plural 3';
+       ok $translation, $expected;
+}
+
+# not try a msgid that matches existing one
+my $context = "Context here (2)";
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dcnpgettext (not_here => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dcnpgettext (existing => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 9) {
+       my $translation = dcnpgettext (existing => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Einzahl 2' : 'Mehrzahl 2';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dcnpgettext (additional => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 40) {
+       my $translation = dcnpgettext (additional => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus 2:$plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dcnpgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcnpgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dcnpgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcnpgettext_xs.t  12 Oct 2011 23:52:15 
-0000      1.1
@@ -0,0 +1,143 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 95;
+
+use Locale::Messages qw (bindtextdomain dcnpgettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+POSIX::setlocale (POSIX::LC_ALL() => ''); 
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+# make sure it works with distinct key (where context doesn't matter)
+my $context3 = "Context here (3)";
+my @strings3 = ("Singular 3", "Plural 3");
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dcnpgettext (not_here => $context3, $strings3[0], 
$strings3[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular 3' : 'Plural 3';
+       ok $translation, $expected;
+}
+
+# not try a msgid that matches existing one
+my $context = "Context here (2)";
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dcnpgettext (not_here => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dcnpgettext (existing => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 9) {
+       my $translation = dcnpgettext (existing => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Einzahl 2' : 'Mehrzahl 2';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dcnpgettext (additional => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $expected  = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 40) {
+       my $translation = dcnpgettext (additional => $context, $strings[0], 
$strings[1], $_, LC_MESSAGES);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus 2:$plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dcpgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcpgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dcpgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcpgettext_pp.t   12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,72 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 10;
+
+use Locale::Messages qw (bindtextdomain dcgettext dcpgettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^/\\]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+# make sure dgettext and dpgettext return diff values
+ok 'Anzeigen', dcgettext (existing => 'View', LC_MESSAGES);
+ok 'Ansicht', dcpgettext (existing => 'Which folder would you like to 
view?','View', LC_MESSAGES);
+ok 'Not translated', dcpgettext (existing => 'none', 'Not translated', 
LC_MESSAGES);
+
+ok 'Ein weiterer Blick', dcpgettext (additional => 'Context', 'Another View', 
LC_MESSAGES);
+ok 'Not translated', dcpgettext (additional => 'none', 'Not translated', 
LC_MESSAGES);
+ok 'Ein weiterer Blick', dcpgettext (additional => 'Context', 'Another View', 
LC_MESSAGES);
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dcpgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dcpgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dcpgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dcpgettext_xs.t   12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,72 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 10;
+
+use Locale::Messages qw (bindtextdomain dcgettext dcpgettext LC_MESSAGES);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^/\\]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+# make sure dgettext and dpgettext return diff values
+ok 'Anzeigen', dcgettext (existing => 'View', LC_MESSAGES);
+ok 'Ansicht', dcpgettext (existing => 'Which folder would you like to 
view?','View', LC_MESSAGES);
+ok 'Not translated', dcpgettext (existing => 'none', 'Not translated', 
LC_MESSAGES);
+
+ok 'Ein weiterer Blick', dcpgettext (additional => 'Context', 'Another View', 
LC_MESSAGES);
+ok 'Not translated', dcpgettext (additional => 'none', 'Not translated', 
LC_MESSAGES);
+ok 'Ein weiterer Blick', dcpgettext (additional => 'Context', 'Another View', 
LC_MESSAGES);
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dgettext_pp.t     12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,85 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 11;
+
+use Locale::Messages qw (bindtextdomain dgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^/\\]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+ok 'Dezember', dgettext (existing => 'December');
+ok 'September', dgettext (existing => 'September');
+ok 'Not translated', dgettext (existing => 'Not translated');
+skip $missing_locale, 'Jänner', dgettext (existing => 'January');
+
+ok 'Montag', dgettext (additional => 'Monday');
+ok dgettext (additional => 'Not translated'), 'Not translated';
+skip $missing_locale, dgettext (additional => 'Saturday'), 'Sonnabend';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dgettext_xs.t     12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,85 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 11;
+
+use Locale::Messages qw (bindtextdomain dgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^/\\]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+ok 'Dezember', dgettext (existing => 'December');
+ok 'September', dgettext (existing => 'September');
+ok 'Not translated', dgettext (existing => 'Not translated');
+skip $missing_locale, 'Jänner', dgettext (existing => 'January');
+
+ok 'Montag', dgettext (additional => 'Monday');
+ok dgettext (additional => 'Not translated'), 'Not translated';
+skip $missing_locale, dgettext (additional => 'Saturday'), 'Sonnabend';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dngettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dngettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dngettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dngettext_pp.t    12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,141 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 85;
+
+use Locale::Messages qw (bindtextdomain dngettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       my $translation = dngettext (not_here => $strings[0], $strings[1], $_);
+       ok $translation, $_ == 1 ? 'Singular' : 'Plural';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dngettext (existing => $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+for (0 .. 9) {
+       my $translation = dngettext (existing => $strings[0], $strings[1], $_);
+       skip $missing_locale,
+               $translation, $_ == 1 ? 'Einzahl' : 'Mehrzahl';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+for (0 .. 9) {
+       my $translation = dngettext (additional => $strings[0], $strings[1], 
$_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => $setlocale) unless $missing_locale;
+
+for (0 .. 40) {
+       my $translation = dngettext (additional => $strings[0], $strings[1], 
$_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       skip $missing_locale, $translation, "Numerus $plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dngettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dngettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dngettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dngettext_xs.t    12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,141 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 85;
+
+use Locale::Messages qw (bindtextdomain dngettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       my $translation = dngettext (not_here => $strings[0], $strings[1], $_);
+       ok $translation, $_ == 1 ? 'Singular' : 'Plural';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dngettext (existing => $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+for (0 .. 9) {
+       my $translation = dngettext (existing => $strings[0], $strings[1], $_);
+       skip $missing_locale,
+               $translation, $_ == 1 ? 'Einzahl' : 'Mehrzahl';
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
+
+for (0 .. 9) {
+       my $translation = dngettext (additional => $strings[0], $strings[1], 
$_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => $setlocale) unless $missing_locale;
+
+for (0 .. 40) {
+       my $translation = dngettext (additional => $strings[0], $strings[1], 
$_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       skip $missing_locale, $translation, "Numerus $plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dnpgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dnpgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dnpgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dnpgettext_pp.t   12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,144 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 95;
+
+use Locale::Messages qw (bindtextdomain dnpgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+# make sure it works with distinct key (where context doesn't matter)
+my $context3 = "Context here (3)";
+my @strings3 = ("Singular 3", "Plural 3");
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dnpgettext (not_here => $context3, $strings3[0], 
$strings3[1], $_);
+       my $expected = $_ == 1 ? 'Singular 3' : 'Plural 3';
+       ok $translation, $expected;
+}
+
+# not try a msgid that matches existing one
+my $context = "Context here (2)";
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dnpgettext (not_here => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dnpgettext (existing => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 9) {
+       my $translation = dnpgettext (existing => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Einzahl 2' : 'Mehrzahl 2';
+       ok $expected, $translation;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dnpgettext (additional => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 40) {
+       my $translation = dnpgettext (additional => $context, $strings[0], 
$strings[1], $_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus 2:$plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dnpgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dnpgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dnpgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dnpgettext_xs.t   12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,144 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 95;
+
+use Locale::Messages qw (bindtextdomain dnpgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+
+# make sure it works with distinct key (where context doesn't matter)
+my $context3 = "Context here (3)";
+my @strings3 = ("Singular 3", "Plural 3");
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dnpgettext (not_here => $context3, $strings3[0], 
$strings3[1], $_);
+       my $expected = $_ == 1 ? 'Singular 3' : 'Plural 3';
+       ok $translation, $expected;
+}
+
+# not try a msgid that matches existing one
+my $context = "Context here (2)";
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = dnpgettext (not_here => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dnpgettext (existing => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 9) {
+       my $translation = dnpgettext (existing => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Einzahl 2' : 'Mehrzahl 2';
+       ok $expected, $translation;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+for (0 .. 9) {
+       my $translation = dnpgettext (additional => $context, $strings[0], 
$strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 40) {
+       my $translation = dnpgettext (additional => $context, $strings[0], 
$strings[1], $_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus 2:$plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03dpgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dpgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03dpgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dpgettext_pp.t    12 Oct 2011 23:52:16 
-0000      1.1
@@ -0,0 +1,73 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 9;
+
+use Locale::Messages qw (bindtextdomain gettext dgettext dpgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^/\\]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+# make sure dgettext and dpgettext return diff values
+ok dgettext (existing => 'View'), 'Anzeigen';
+ok dpgettext (existing => 'Which folder would you like to view?', 'View'), 
'Ansicht';
+ok dpgettext (existing => 'none', 'Not translated'), 'Not translated';
+
+ok dpgettext (additional => 'Context', 'Another View'), 'Ein weiterer Blick';
+ok dpgettext (additional => 'none', 'Not translated'), 'Not translated';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03dpgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03dpgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03dpgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03dpgettext_xs.t    12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,73 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 9;
+
+use Locale::Messages qw (bindtextdomain gettext dgettext dpgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^/\\]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain existing => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+$bound_dir = bindtextdomain additional => $locale_dir;
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+# make sure dgettext and dpgettext return diff values
+ok dgettext (existing => 'View'), 'Anzeigen';
+ok dpgettext (existing => 'Which folder would you like to view?', 'View'), 
'Ansicht';
+ok dpgettext (existing => 'none', 'Not translated'), 'Not translated';
+
+ok dpgettext (additional => 'Context', 'Another View'), 'Ein weiterer Blick';
+ok dpgettext (additional => 'none', 'Not translated'), 'Not translated';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03gettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03gettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03gettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03gettext_pp.t      12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,91 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 8;
+
+use Locale::Messages qw (bindtextdomain textdomain gettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+# Default case.
+ok gettext ('December'), 'Dezember';
+
+# msgid eq msgstr.
+ok gettext ('September'), 'September';
+
+# Unknown.
+ok gettext ('Not translated'), 'Not translated';
+
+# Special translation for Austrian German.
+skip $missing_locale, gettext ('January'), 'Jänner';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03gettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03gettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03gettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03gettext_xs.t      12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,91 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 8;
+
+use Locale::Messages qw (bindtextdomain textdomain gettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+# Default case.
+ok gettext ('December'), 'Dezember';
+
+# msgid eq msgstr.
+ok gettext ('September'), 'September';
+
+# Unknown.
+ok gettext ('Not translated'), 'Not translated';
+
+# Special translation for Austrian German.
+skip $missing_locale, gettext ('January'), 'Jänner';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03language_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03language_pp.t
diff -N maintain/lib/libintl-perl/tests/03language_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03language_pp.t     12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,90 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 6;
+
+use Locale::Messages qw (bindtextdomain textdomain gettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       # The xs version of this test is omitted on purpose.  We can
+       # only test it when the locale de and de_AT are installed, but
+       # checking for them will spoil our results.
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+# Actually both de_AT and de are required.  We assume here that
+# de will be installed, too, if de_AT is.  This test does not
+# use Locale::Util::set_locale() for setting the locale, and 
+# that is on purpose.
+my $missing_locale = POSIX::setlocale (POSIX::LC_ALL() => '') ?
+    '' : 'locale de_AT missing';
+POSIX::setlocale (POSIX::LC_ALL() => 'C');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANG=whatever");
+Locale::Messages::nl_putenv ("LC_ALL=whatever");
+Locale::Messages::nl_putenv ("LC_MESSAGES=whatever");
+Locale::Messages::nl_putenv ("LANGUAGE=ab_CD:ef_GH:de_AT:de");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+POSIX::setlocale (POSIX::LC_ALL(), '');
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+# Austrian German has precedence.
+skip $missing_locale, gettext ('January'), 'Jänner';
+my $translation = gettext ('January');
+
+Locale::Messages::nl_putenv ("LANGUAGE=ab_CD:ef_GH:de:de_AT");
+ok gettext ('February'), 'Februar'; # not 'Feber'!
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03ngettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03ngettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03ngettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03ngettext_pp.t     12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,155 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 88;
+
+use Locale::Messages qw (bindtextdomain textdomain ngettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+textdomain 'not_here';
+
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok  defined $bound_domain && $textdomain eq $bound_domain;
+
+for (0 .. 9) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+for (0 .. 9) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Einzahl' : 'Mehrzahl';
+       ok $translation, $expected;
+}
+
+$textdomain = 'additional';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+$bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+for (0 .. 9) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => $setlocale) unless $missing_locale; 
+
+for (0 .. 40) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus $plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03ngettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03ngettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03ngettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03ngettext_xs.t     12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,155 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 88;
+
+use Locale::Messages qw (bindtextdomain textdomain ngettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+textdomain 'not_here';
+
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($locale_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok  defined $bound_domain && $textdomain eq $bound_domain;
+
+for (0 .. 9) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+my $missing_locale = 'locale de_AT missing';
+my $setlocale = POSIX::setlocale (POSIX::LC_ALL() => '');
+if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+       $missing_locale = '';
+} else {
+       require Locale::Util;
+       
+       $setlocale = Locale::Util::set_locale (POSIX::LC_ALL(), 'de', 'AT');
+       if ($setlocale && $setlocale =~ /(?:austria|at)/i) {
+               $missing_locale = '';
+       }
+}
+
+for (0 .. 9) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Einzahl' : 'Mehrzahl';
+       ok $translation, $expected;
+}
+
+$textdomain = 'additional';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+$bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+for (0 .. 9) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => $setlocale) unless $missing_locale; 
+
+for (0 .. 40) {
+       my $translation = ngettext ($strings[0], $strings[1], $_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus $plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03npgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03npgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03npgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03npgettext_pp.t    12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,157 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 99;
+
+use Locale::Messages qw (bindtextdomain textdomain npgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+textdomain 'not_here';
+
+# make sure it works with distinct key (where context doesn't matter)
+my $context3 = "Context here (3)";
+my @strings3 = ("Singular 3", "Plural 3");
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = npgettext ($context3, $strings3[0], $strings3[1], $_);
+       my $expected = $_ == 1 ? 'Singular 3' : 'Plural 3';
+       ok $translation, $expected;
+}
+
+# not try a msgid that matches existing one
+my $context = "Context here (2)";
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+for (0 .. 9) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+my $missing_locale = POSIX::setlocale (POSIX::LC_ALL() => '') ?
+    '' : 'locale de_AT missing';
+
+for (0 .. 9) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Einzahl 2' : 'Mehrzahl 2';
+       ok $translation, $expected;
+}
+
+$textdomain = 'additional';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+$bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+for (0 .. 9) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 40) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus 2:$plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03npgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03npgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03npgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03npgettext_xs.t    12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,157 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 99;
+
+use Locale::Messages qw (bindtextdomain textdomain npgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+bindtextdomain not_here => $locale_dir;
+textdomain 'not_here';
+
+# make sure it works with distinct key (where context doesn't matter)
+my $context3 = "Context here (3)";
+my @strings3 = ("Singular 3", "Plural 3");
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = npgettext ($context3, $strings3[0], $strings3[1], $_);
+       my $expected = $_ == 1 ? 'Singular 3' : 'Plural 3';
+       ok $translation, $expected;
+}
+
+# not try a msgid that matches existing one
+my $context = "Context here (2)";
+my @strings = qw (Singular Plural);
+for (0 .. 9) {
+       # Prototype checking fails here if you pass the list @strings.
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+for (0 .. 9) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+my $missing_locale = POSIX::setlocale (POSIX::LC_ALL() => '') ?
+    '' : 'locale de_AT missing';
+
+for (0 .. 9) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Einzahl 2' : 'Mehrzahl 2';
+       ok $translation, $expected;
+}
+
+$textdomain = 'additional';
+Locale::Messages::nl_putenv ("LANGUAGE=C");
+Locale::Messages::nl_putenv ("LC_ALL=C");
+Locale::Messages::nl_putenv ("LANG=C");
+Locale::Messages::nl_putenv ("LC_MESSAGES=C");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+$bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+$bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+for (0 .. 9) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $expected = $_ == 1 ? 'Singular' : 'Plural';
+       ok $translation, $expected;
+}
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+POSIX::setlocale (POSIX::LC_ALL() => '');
+
+for (0 .. 40) {
+       my $translation = npgettext ($context, $strings[0], $strings[1], $_);
+       my $plural = ($_ == 1 ? 0 : 
+                                 $_ % 10 == 2 ? 1 : 
+                                 $_ % 10 == 3 || $_ %10 == 4 ? 2 : 3);
+       ok $translation, "Numerus 2:$plural";
+}
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:
+

Index: maintain/lib/libintl-perl/tests/03pgettext_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03pgettext_pp.t
diff -N maintain/lib/libintl-perl/tests/03pgettext_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03pgettext_pp.t     12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,78 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 8;
+
+use Locale::Messages qw (bindtextdomain textdomain gettext pgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+# Default case.
+ok gettext ('View'), 'Anzeigen';
+
+# Default context case.
+ok pgettext ('Which folder would you like to view?','View'), 'Ansicht';
+
+# msgid eq msgstr.
+ok pgettext ('Which folder would you like to view? (2)','View'), 'View 2';
+
+# Unknown.
+ok pgettext ('none', 'Not translated'), 'Not translated';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03pgettext_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03pgettext_xs.t
diff -N maintain/lib/libintl-perl/tests/03pgettext_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03pgettext_xs.t     12 Oct 2011 23:52:17 
-0000      1.1
@@ -0,0 +1,78 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 8;
+
+use Locale::Messages qw (bindtextdomain textdomain gettext pgettext);
+require POSIX;
+require File::Spec;
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $locale_dir = $0;
+$locale_dir =~ s,[^\\/]+$,, or $locale_dir = '.';
+$locale_dir .= '/LocaleData';
+
+my $textdomain = 'existing';
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+my $bound_dir = bindtextdomain $textdomain => $locale_dir;
+
+ok defined $bound_dir;
+ok (File::Spec->catdir ($bound_dir), File::Spec->catdir ($bound_dir));
+
+my $bound_domain = textdomain $textdomain;
+
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+# Default case.
+ok gettext ('View'), 'Anzeigen';
+
+# Default context case.
+ok pgettext ('Which folder would you like to view?','View'), 'Ansicht';
+
+# msgid eq msgstr.
+ok pgettext ('Which folder would you like to view? (2)','View'), 'View 2';
+
+# Unknown.
+ok pgettext ('none', 'Not translated'), 'Not translated';
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03textdomain_pp.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03textdomain_pp.t
diff -N maintain/lib/libintl-perl/tests/03textdomain_pp.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03textdomain_pp.t   12 Oct 2011 23:52:18 
-0000      1.1
@@ -0,0 +1,53 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 4;
+
+use Locale::Messages qw (textdomain);
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $textdomain = '';
+my $bound_domain = textdomain '';
+ok defined $bound_domain;
+ok $bound_domain, 'messages';
+
+$textdomain = 'existing';
+$bound_domain = textdomain $textdomain;
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/03textdomain_xs.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/03textdomain_xs.t
diff -N maintain/lib/libintl-perl/tests/03textdomain_xs.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/03textdomain_xs.t   12 Oct 2011 23:52:18 
-0000      1.1
@@ -0,0 +1,53 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 4;
+
+use Locale::Messages qw (textdomain);
+
+BEGIN {
+       my $package;
+       if ($0 =~ /_pp\.t$/) {
+               $package = 'gettext_pp';
+       } else {
+               $package = 'gettext_xs';
+       }
+               
+       my $selected = Locale::Messages->select_package ($package);
+       if ($selected ne $package && 'gettext_xs' eq $package) {
+               print "1..0 # Skip: Locale::$package not available here.\n";
+               exit 0;
+       }
+       plan tests => NUM_TESTS;
+}
+
+my $textdomain = '';
+my $bound_domain = textdomain '';
+ok defined $bound_domain;
+ok $bound_domain, 'messages';
+
+$textdomain = 'existing';
+$bound_domain = textdomain $textdomain;
+ok defined $bound_domain;
+ok $bound_domain, $textdomain;
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/04find_domain_bug.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/04find_domain_bug.t
diff -N maintain/lib/libintl-perl/tests/04find_domain_bug.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/04find_domain_bug.t 12 Oct 2011 23:52:18 
-0000      1.1
@@ -0,0 +1,75 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 2;
+
+use Locale::Messages;
+use POSIX;
+
+BEGIN {
+       plan tests => NUM_TESTS;
+}
+
+# Jan Kratochvil described the following bug: When using any functions
+# from Locale::TextDomain with a locale setting for a language that
+# has no message catalog installed, __find_domain() from Locale::TextDomain
+# will never look into the directories "LocaleData" again.  It
+# tries to bindtextdomain() to all search directories, and when it
+# fails to find a translation for the emtpy string (should always be
+# present), it will assume that this directory is not the one holding
+# the mo files.
+#
+# This can actually only happen, when you switch languages behind the
+# user's back. Fixed by checking for the presence of _any_ (g)mo file
+# in the relevant directories. 
+BEGIN {
+       # Force language that is not supported.
+       Locale::Messages::nl_putenv ("LANGUAGE=en_US");
+       Locale::Messages::nl_putenv ("LC_ALL=en_US");
+       Locale::Messages::nl_putenv ("LANG=en_US");
+       Locale::Messages::nl_putenv ("LC_MESSAGES=en_US");
+       Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
+
+       POSIX::setlocale (POSIX::LC_ALL() => '');
+}
+
+# Make sure that LocaleData/ can befound.
+BEGIN {
+    unshift @INC, $1 if $0 =~ m#(.*)[\\\/]#;
+}
+use Locale::TextDomain ('existing');
+
+ok "February" eq __"February";
+
+Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
+Locale::Messages::nl_putenv ("LC_ALL=de_AT");
+Locale::Messages::nl_putenv ("LANG=de_AT");
+Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
+
+my $missing_locale = POSIX::setlocale (POSIX::LC_ALL() => '') ?
+    '' : 'locale de_AT missing';
+
+my $locale = POSIX::setlocale (POSIX::LC_ALL() => '');
+my $translation = Locale::TextDomain::__("February");
+skip $missing_locale, "Feber" eq $translation;
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/04scalar_noop.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/04scalar_noop.t
diff -N maintain/lib/libintl-perl/tests/04scalar_noop.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/04scalar_noop.t     12 Oct 2011 23:52:18 
-0000      1.1
@@ -0,0 +1,54 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 5;
+
+use Locale::TextDomain;
+use POSIX;
+
+BEGIN {
+       plan tests => NUM_TESTS;
+}
+
+# When called in scalar context, N__() should return its argument,
+# not a list.  On the other hand, the other noop functions should
+# simply returns their arguments, see
+# https://rt.cpan.org/Ticket/Display.html?id=46471 for more.
+
+my $scalar;
+
+$scalar = scalar N__"foobar";
+ok 'foobar' eq $scalar;
+
+($scalar) = scalar N__"foobar";
+ok 'foobar' eq $scalar;
+
+$scalar = scalar N__n"one", "two", 4;
+ok 3 eq $scalar;
+
+$scalar = scalar N__p"ctx", "foobar";
+ok 2 eq $scalar;
+
+$scalar = scalar N__np"ctx", "one", "two", 5;
+ok 4 eq $scalar;
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/05parse_accept.t
===================================================================
RCS file: maintain/lib/libintl-perl/tests/05parse_accept.t
diff -N maintain/lib/libintl-perl/tests/05parse_accept.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/05parse_accept.t    12 Oct 2011 23:52:18 
-0000      1.1
@@ -0,0 +1,55 @@
+#! /usr/local/bin/perl -w
+
+# vim: syntax=perl
+# vim: tabstop=4
+
+use strict;
+
+use Test;
+
+use constant NUM_TESTS => 4;
+
+use Locale::Util qw (parse_http_accept_language parse_http_accept_charset);
+
+BEGIN {
+       plan tests => NUM_TESTS;
+}
+
+my ($string, @items, $items);
+
+$string = "baz; q=0.1, foo, bar; q=0.7";
address@hidden = parse_http_accept_language $string;
+$items = join '|', @items;
+ok $items, "foo|bar|baz";
+
+# Illegal language identifiers should be filtered out.
+$string = "baz; q=0.1, illegal4this, foo, bar; q=0.7";
address@hidden = parse_http_accept_language $string;
+$items = join '|', @items;
+ok $items, "foo|bar|baz";
+
+# The catch-all language is C.
+$string = "baz; q=0.1, *; q=0.05, foo, bar; q=0.7";
address@hidden = parse_http_accept_language $string;
+$items = join '|', @items;
+ok $items, "foo|bar|baz|C";
+
+$string = "baz; q=0.1, foo, bar; q=0.7";
address@hidden = parse_http_accept_charset $string;
+$items = join '|', @items;
+ok $items, "foo|bar|baz";
+
+__END__
+
+Local Variables:
+mode: perl
+perl-indent-level: 4
+perl-continued-statement-offset: 4
+perl-continued-brace-offset: 0
+perl-brace-offset: -4
+perl-brace-imaginary-offset: 0
+perl-label-offset: -4
+cperl-indent-level: 4
+cperl-continued-statement-offset: 2
+tab-width: 4
+End:

Index: maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/additional.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/additional.mo
diff -N maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/additional.mo
Binary files /dev/null and /tmp/cvs6yHdM6 differ

Index: maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/existing.mo
===================================================================
RCS file: maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/existing.mo
diff -N maintain/lib/libintl-perl/tests/LocaleData/de/LC_MESSAGES/existing.mo
Binary files /dev/null and /tmp/cvsQFEBC7 differ

Index: 
maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/additional.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/additional.mo
diff -N 
maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/additional.mo
Binary files /dev/null and /tmp/cvs2oelH6 differ

Index: maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/existing.mo
===================================================================
RCS file: 
maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/existing.mo
diff -N maintain/lib/libintl-perl/tests/LocaleData/de_AT/LC_MESSAGES/existing.mo
Binary files /dev/null and /tmp/cvsvuYfV9 differ

Index: maintain/lib/libintl-perl/tests/po/Makefile
===================================================================
RCS file: maintain/lib/libintl-perl/tests/po/Makefile
diff -N maintain/lib/libintl-perl/tests/po/Makefile
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/po/Makefile 12 Oct 2011 23:52:20 -0000      
1.1
@@ -0,0 +1,47 @@
+# Makefile for various po files.  This Makefile is intended for the
+# maintainer.  No problem if you cannot run it on your system.
+
+srcdir = .
+top_srcdir = ..
+
+LINGUAS = de de_AT
+PACKAGES = existing additional
+
+#CATALOGS = $(addsuffix .po, LINGUAS)
+CATALOGS = $(LINGUAS)
+MO_FILES = $(foreach pkg,$(PACKAGES), $(addprefix $(pkg)., $(addsuffix .mo, 
$(LINGUAS))))
+
+MSGMERGE = msgmerge
+MSGFMT   = msgfmt
+CATOBJEXT = .po
+
+all: default
+
+default: install 
+
+install: $(MO_FILES)
+       cd $(srcdir); \
+       targetdir='$(top_srcdir)/LocaleData'; \
+       languages='$(LINGUAS)'; \
+       packages='$(PACKAGES)'; \
+       for package in $$packages; do \
+               for lang in $$languages; do \
+                       dest="$$targetdir/$$lang/LC_MESSAGES/$$package.mo"; \
+                       cat="$$package.$$lang.mo"; \
+                       echo "installing $$cat as $$dest"; \
+                       cp -f $$cat $$dest && chmod 644 $$dest || exit 1; \
+               done; \
+       done
+
+update-mo: $(MO_FILES)
+       @echo "MO-FILES: $(MO_FILES)"
+
+clean:
+       rm -f $(MO_FILES) *~
+
+.SUFFIXES:
+.SUFFIXES: .po .mo
+
+.po.mo:
+       $(MSGFMT) --check --statistics --verbose -o $@ $<
+

Index: maintain/lib/libintl-perl/tests/po/additional.de.po
===================================================================
RCS file: maintain/lib/libintl-perl/tests/po/additional.de.po
diff -N maintain/lib/libintl-perl/tests/po/additional.de.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/po/additional.de.po 12 Oct 2011 23:52:20 
-0000      1.1
@@ -0,0 +1,58 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: libintl-perl-text 0.01\n"
+"POT-Creation-Date: 2002-07-13 11:47+02:00\n"
+"PO-Revision-Date: 1999-02-16 21:14+01:00\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: German <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10==2 ? 1 : n%10==3 || n%"
+"10==4 ? 2 : 3);\n"
+
+# The Plural-Forms header is wrong on purpose.  It is in fact the correct
+# setting for Slovenian, but we abuse it here for testing ngettext and
+# friends.
+msgid "Singular"
+msgid_plural "Plural"
+msgstr[0] "Numerus 0"
+msgstr[1] "Numerus 1"
+msgstr[2] "Numerus 2"
+msgstr[3] "Numerus 3"
+
+msgctxt "Context here (2)"
+msgid "Singular"
+msgid_plural "Plural"
+msgstr[0] "Numerus 2:0"
+msgstr[1] "Numerus 2:1"
+msgstr[2] "Numerus 2:2"
+msgstr[3] "Numerus 2:3"
+
+msgid "Sunday"
+msgstr "Sonntag"
+
+msgid "Monday"
+msgstr "Montag"
+
+msgid "Tuesday"
+msgstr "Dienstag"
+
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+msgid "Thursday"
+msgstr "Donnerstag"
+
+msgid "Friday"
+msgstr "Freitag"
+
+msgid "Saturday"
+msgstr "Samstag"
+
+msgid "Another View"
+msgstr "Eine andere Ansicht ohne Kontext"
+
+msgctxt "Context"
+msgid "Another View"
+msgstr "Eine andere Ansicht mit Kontext"

Index: maintain/lib/libintl-perl/tests/po/additional.de_AT.po
===================================================================
RCS file: maintain/lib/libintl-perl/tests/po/additional.de_AT.po
diff -N maintain/lib/libintl-perl/tests/po/additional.de_AT.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/po/additional.de_AT.po      12 Oct 2011 
23:52:20 -0000      1.1
@@ -0,0 +1,16 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: libintl-perl-text 0.01\n"
+"POT-Creation-Date: 2002-07-13 11:47+02:00\n"
+"PO-Revision-Date: 1999-02-16 21:14+01:00\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: German <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10==2 ? 1 : n%10==3 || n%"
+"10==4 ? 2 : 3);\n"
+
+msgid "Saturday"
+msgstr "Sonnabend"
+

Index: maintain/lib/libintl-perl/tests/po/existing.de.po
===================================================================
RCS file: maintain/lib/libintl-perl/tests/po/existing.de.po
diff -N maintain/lib/libintl-perl/tests/po/existing.de.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/po/existing.de.po   12 Oct 2011 23:52:20 
-0000      1.1
@@ -0,0 +1,76 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: libintl-perl-text 1.12\n"
+"POT-Creation-Date: 2002-07-13 11:47+02:00\n"
+"PO-Revision-Date: 2005-08-10 19:02+03:00\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: German <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Singular"
+msgid_plural "Plural"
+msgstr[0] "Einzahl"
+msgstr[1] "Mehrzahl"
+
+msgid "January"
+msgstr "Januar"
+
+msgid "February"
+msgstr "Februar"
+
+msgid "March"
+msgstr "März"
+
+msgid "April"
+msgstr "April"
+
+msgid "May"
+msgstr "Mai"
+
+msgid "June"
+msgstr "Juni"
+
+msgid "July"
+msgstr "Juli"
+
+msgid "August"
+msgstr "August"
+
+msgid "September"
+msgstr "September"
+
+msgid "October"
+msgstr "Oktober"
+
+msgid "November"
+msgstr "November"
+
+msgid "December"
+msgstr "Dezember"
+
+msgid "View"
+msgstr "Anzeigen"
+
+msgctxt "Which folder would you like to view?"
+msgid "View"
+msgstr "Ansicht"
+
+msgctxt "Which folder would you like to view? (2)"
+msgid "View"
+msgstr "View 2"
+
+msgctxt "Context here (2)"
+msgid "Singular"
+msgid_plural "Plural"
+msgstr[0] "Einzahl 2"
+msgstr[1] "Mehrzahl 2"
+
+msgctxt "Context here (3)"
+msgid "Singular 3"
+msgid_plural "Plural 3"
+msgstr[0] "Einzahl 3"
+msgstr[1] "Mehrzahl 3"
+

Index: maintain/lib/libintl-perl/tests/po/existing.de_AT.po
===================================================================
RCS file: maintain/lib/libintl-perl/tests/po/existing.de_AT.po
diff -N maintain/lib/libintl-perl/tests/po/existing.de_AT.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ maintain/lib/libintl-perl/tests/po/existing.de_AT.po        12 Oct 2011 
23:52:21 -0000      1.1
@@ -0,0 +1,16 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: libintl-perl-text 1.12\n"
+"POT-Creation-Date: 2002-07-13 11:47+02:00\n"
+"PO-Revision-Date: 2005-08-10 19:01+03:00\n"
+"Last-Translator: Guido Flohr <address@hidden>\n"
+"Language-Team: German <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+msgid "January"
+msgstr "Jänner"
+
+msgid "February"
+msgstr "Feber"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]